如何使用BeautifulSoup删除仅标记?我发现的方法删除了标记和所有其他标记和内容。我想只删除标签,并将其中的所有内容保持不变,例如。
改变这个:
<div>
<p>dvgbkfbnfd</p>
<div>
<span>dsvdfvd</span>
</div>
<p>fvjdfnvjundf</p>
</div>
到此:
<p>dvgbkfbnfd</p>
<span>dsvdfvd</span>
<p>fvjdfnvjundf</p>
答案 0 :(得分:3)
我已经投票决定以副本结束,但如果它有用,请从右侧的相关答案重新应用slacy's answer为您提供此解决方案:
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>