在python中删除两个html标记之间的所有数据

在python中删除两个html标记之间的所有数据,python,html,web-scraping,beautifulsoup,Python,Html,Web Scraping,Beautifulsoup,我正在制作一个webscraper,我想完全删除一些div,因为它们不是我分析数据所必需的。 我正在使用Beautiful Soup解析数据,但我不知道如何完全消除div您可以使用以下方法: >>> import bs4 >>> blah = '<div id="test"><p>one</p></div><div id="okay"><p>something</p></

我正在制作一个webscraper,我想完全删除一些div,因为它们不是我分析数据所必需的。
我正在使用Beautiful Soup解析数据,但我不知道如何完全消除div

您可以使用以下方法:

>>> import bs4
>>> blah = '<div id="test"><p>one</p></div><div id="okay"><p>something</p></div>'
>>> soup = bs4.BeautifulSoup(blah)
>>> soup('div', {'id': 'test'})[0].extract()
<div id="test"><p>one</p></div>
>>> soup
<html><body><div id="okay"><p>something</p></div></body></html>
导入bs4 >>>诸如此类的东西 >>>汤=bs4.美汤(废话) >>>soup('div',{'id':'test'})[0].extract() 一个

>>>汤 某物


这可能会有帮助:使用lxml.html:from lxml import html doc=html.fromstring(input)for el in doc.cssselect('div.comment'):el.drop_tree()result=html.tostring(doc)