使用 Python 解析 HTML,而不考虑正确的标签层次结构
Parsing HTML with Python with no regard for correct tag hierarchy
我想解析一个文档,该文档在语法上是 html 文档(使用带有属性的标签等),但在结构上不遵循规则(例如可能有 <html>
标签在 <div>
标签内 <body>
标签内)。我也不想要 XML 的额外严格性。不幸的是,lxml 只提供 document_fromstring()
,它需要一个 html 根元素,以及 fragment_fromstring()
,这又不允许有任何 html
或 [=18] =] 标签在不寻常的地方。
如何解析没有 "fixing" 错误结构的文档?
BeautifulSoup 应该可以做到这一点。
情况如下:
from bs4 import BeautifulSoup
import requests
r = requests.get(url)
soup = BeautifulSoup(r.text,'html.parser')
然后您可以搜索 "soup" 寻找您要查找的内容。
我想解析一个文档,该文档在语法上是 html 文档(使用带有属性的标签等),但在结构上不遵循规则(例如可能有 <html>
标签在 <div>
标签内 <body>
标签内)。我也不想要 XML 的额外严格性。不幸的是,lxml 只提供 document_fromstring()
,它需要一个 html 根元素,以及 fragment_fromstring()
,这又不允许有任何 html
或 [=18] =] 标签在不寻常的地方。
如何解析没有 "fixing" 错误结构的文档?
BeautifulSoup 应该可以做到这一点。
情况如下:
from bs4 import BeautifulSoup
import requests
r = requests.get(url)
soup = BeautifulSoup(r.text,'html.parser')
然后您可以搜索 "soup" 寻找您要查找的内容。