gpt4 book ai didi

python - 过滤 HTML 文档中的所有内部文本

转载 作者:太空宇宙 更新时间:2023-11-03 18:28:30 25 4
gpt4 key购买 nike

我想要一个大的 HTML 文档,并且我想去掉所有标签之间的所有内部文本。我发现的一切似乎只是从 HTML 中提取文本。我想要的只是原始 HTML 标签及其属性完好无损。如何过滤掉文本?

最佳答案

在每个文本元素上使用 soup.find_all(text=True).extract() 查找所有文本,并将其从文档中删除:

for textelement in soup.find_all(text=True):
textelement.extract()

演示:

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('''\
... <html><body><p>Hello world!<p>
... <div><ul><li>This is all
... </li><li>Set to go!</li></ul></div>
... </body></html>''')
>>> soup
<html><body><p>Hello world!</p><p>
</p><div><ul><li>This is all
</li><li>Set to go!</li></ul></div>
</body></html>
>>> for textelement in soup.find_all(text=True):
... textelement.extract()
...
u'Hello world!'
u'\n'
u'This is all\n'
u'Set to go!'
u'\n'
>>> print soup.prettify()
<html>
<body>
<p>
</p>
<p>
</p>
<div>
<ul>
<li>
</li>
<li>
</li>
</ul>
</div>
</body>
</html>

关于python - 过滤 HTML 文档中的所有内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22771579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com