gpt4 book ai didi

python如何识别 block html包含文本?

转载 作者:可可西里 更新时间:2023-11-01 13:00:33 25 4
gpt4 key购买 nike

我有原始 HTML 文件,我删除了脚本标签。

我想在 DOM 中识别 block 元素(如 <h1> <p> <div> 等,而不是 <a> <em> <b> 等)并将它们包含在 <div> 中标签。

在python中有什么简单的方法吗?python中有没有识别 block 元素的库

谢谢

更新

实际上我想提取 html 文档。我必须识别包含文本的 block 。对于每个文本元素,我必须找到它最接近的显示为 block 的父元素。之后,对于每个 block ,我将提取 block 的大小和位置等特征。

最佳答案

你应该使用类似 Beautiful Soup 的东西或 HTMLParser .

看看他们的文档:Beautiful SoupHTMLParser .

你应该在那里找到你要找的东西。如果您无法使其正常工作,请考虑提出更具体的问题。

这是一个简单的例子,你是如何做到这一点的。假设“数据”是网站的原始内容,那么您可以:

soup = BeautifulSoup(data) # you may need to add from_encoding="utf-8"or so

然后您可能想要遍历树以查找特定节点并找到它的某些内容。您可以像这样使用 fct:

def walker(soup):
if soup.name is not None:
for child in soup.children:
# do stuff with the node
print ':'.join([str(child.name), str(type(child))])
walker(child)

注:代码来自this great tutorial .

关于python如何识别 block html包含文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40400885/

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