Python 使用BeautifulSoup删除具有particlular类的div

Python 使用BeautifulSoup删除具有particlular类的div,python,python-2.7,beautifulsoup,Python,Python 2.7,Beautifulsoup,我想从soup对象中删除特定的div。 我正在使用python2.7和bs4 根据文档,我们可以使用div.decompose() 但这将删除所有div。如何从BeautifulSoup导入BeautifulSoup中删除具有特定类的div from BeautifulSoup import BeautifulSoup >>> soup = BeautifulSoup('<body><div>1</div><div cl

我想从
soup
对象中删除特定的
div

我正在使用
python2.7
bs4

根据文档,我们可以使用
div.decompose()

但这将删除所有
div
。如何从BeautifulSoup导入BeautifulSoup中删除具有特定类的
div
    from BeautifulSoup import BeautifulSoup
    >>> soup = BeautifulSoup('<body><div>1</div><div class="comment"><strong>2</strong></div></body>')
    >>> for div in soup.findAll('div', 'comment'):
    ...   div.extract()
    ... 
    <div class="comment"><strong>2</strong></div>
    >>> soup
    <body><div>1</div></body>
>>>汤=美汤(12) >>>对于汤中的div.findAll('div','comment'): ... 部门摘录() ... 2 >>>汤 1. 当然,你可以用通常的方式,直接或通过感兴趣的
div,然后调用这些div

例如,如果要删除带有class
侧栏的所有div,可以使用

# replace with `soup.findAll` if you are using BeautifulSoup3
for div in soup.find_all("div", {'class':'sidebar'}): 
    div.decompose()
soup.find('div', id="main-content").decompose()
如果要删除具有特定
id
的div,比如说
main content
,可以使用

# replace with `soup.findAll` if you are using BeautifulSoup3
for div in soup.find_all("div", {'class':'sidebar'}): 
    div.decompose()
soup.find('div', id="main-content").decompose()
这将帮助您:

from bs4 import BeautifulSoup

markup = '<a>This is not div <div class="1">This is div 1</div><div class="2">This is div 2</div></a>'
soup = BeautifulSoup(markup,"html.parser")
a_tag = soup

soup.find('div',class_='2').decompose()

print a_tag
从bs4导入美化组
标记='这不是div这是div 1这是div 2'
soup=BeautifulSoup(标记,“html.parser”)
标签=汤
soup.find('div',class='2').decompose()
打印标签
输出:

<a>This is not div <div class="1">This is div 1</div></a>
这不是div这是div 1
如果有帮助,请告诉我希望有帮助:

from bs4 import BeautifulSoup
from bs4.element import Tag

markup = '<a>This is not div <div class="1">This is div 1</div><div class="2">This is div 2</div></a>'
soup = BeautifulSoup(markup,"html.parser")

for tag in soup.select('div.1'):
  tag.decompose()

print(soup)
从bs4导入美化组
从bs4.1元素导入标记
标记='这不是div这是div 1这是div 2'
soup=BeautifulSoup(标记,“html.parser”)
对于汤中的标签,选择('div.1'):
tag.decompose()
印花(汤)

extract函数不会从原始汤中删除div。简短而精确。谢谢@lemonhead你知道如何在分解的位置放置替换文本吗?@CodeGuru如果你不分解,你会选择/找到元素,然后调用。如果希望将删除的元素作为d,并进一步执行操作,请参见d=div.extract()?您为
a_标签
分配了一个值,然后修改了
soup
,但打印了
a_标签
。?我无法让它工作。在BS4中工作得很有魅力。