gpt4 book ai didi

python - 如何在 Python 中使用 html5lib 获取 body 元素的内容?

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:20 25 4
gpt4 key购买 nike

如何获取<body>的内容使用 html5lib 元素在 Python 中?

示例输入数据:<html><head></head><body>xxx<b>yyy</b></hr></body></html>

预期输出:xxx<b>yyy</b></hr>

即使 HTML 损坏(未闭合的标签,......)它也应该工作。

最佳答案

html5lib 允许您使用各种标准树格式解析文档。您可以使用 lxml 执行此操作,正如我在下面所做的那样,或者您可以按照他们的 user documentation 中的说明进行操作用 minidom 来做, ElementTreeBeautifulSoup .

file = open("mydocument.html")
doc = html5lib.parse(file, treebuilder="lxml")
content = doc.findtext("html/body", default=None):

回复评论

无需使用自己的 simpletree.py 安装任何外部库即可实现此目的, 但根据文件开头的注释判断我想这不是推荐的方式......

# Really crappy basic implementation of a DOM-core like thing

但是,如果您仍然想这样做,您可以像这样解析 html 文档:

f = open("mydocument.html")
doc = html5lib.parse(f)

然后通过对文档中的子节点进行广度优先搜索来找到您要查找的元素。节点保存在名为 childNodes 的数组中,每个节点都有一个名称存储在字段 name 中。

关于python - 如何在 Python 中使用 html5lib 获取 body 元素的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6161393/

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