我将如何使用 BeautifulSoup仅删除一个标签?我找到的方法会删除标签以及其中的所有其他标签和内容。我只想删除标签并保留其中的所有内容不变,例如
改变这个:
<div>
<p>dvgbkfbnfd</p>
<div>
<span>dsvdfvd</span>
</div>
<p>fvjdfnvjundf</p>
</div>
对此:
<p>dvgbkfbnfd</p>
<span>dsvdfvd</span>
<p>fvjdfnvjundf</p>
我将如何使用 BeautifulSoup仅删除一个标签?我找到的方法会删除标签以及其中的所有其他标签和内容。我只想删除标签并保留其中的所有内容不变,例如
改变这个:
<div>
<p>dvgbkfbnfd</p>
<div>
<span>dsvdfvd</span>
</div>
<p>fvjdfnvjundf</p>
</div>
对此:
<p>dvgbkfbnfd</p>
<span>dsvdfvd</span>
<p>fvjdfnvjundf</p>
我已投票关闭作为副本,但如果它有用,从右边的顶部相关答案重新应用 slacy 的答案会给你这个解决方案:
from BeautifulSoup import BeautifulSoup
html = '''
<div>
<p>dvgbkfbnfd</p>
<div>
<span>dsvdfvd</span>
</div>
<p>fvjdfnvjundf</p>
</div>
'''
soup = BeautifulSoup(html)
for match in soup.findAll('div'):
match.replaceWithChildren()
print soup
...产生输出:
<p>dvgbkfbnfd</p>
<span>dsvdfvd</span>
<p>fvjdfnvjundf</p>