'BeautifulSoup'和'lxml'之间的关系是什么?

nn0*_*n0p 2 python lxml beautifulsoup html-parsing

lxml文档,它说:

lxml可以通过lxml.html.soupparser模块与BeautifulSoup的解析功能进行交互.它提供了三个主要功能:fromstring()和parse()使用BeautifulSoup将字符串或文件解析为lxml.html文档,并使用convert_tree()将现有的BeautifulSoup树转换为顶级元素列表.

同时,BS'也可以lxml用作解析器.[参考文献]

Beautiful Soup支持Python标准库中包含的HTML解析器,但它也支持许多第三方Python解析器.一个是lxml解析器.

BS建议使用lxml的解析器速度.

所以,如果有什么lxml用途BS,用于分析时BS的解析器是lxml 相反?

我一直在理解他们的关系.救命.

har*_*r07 5

BS解析器和lxml.html解析器没什么好混淆的.BS有一个HTML解析器,并lxml有自己的HTML解析器.

BS您引用的文档只是说您可以BS使用lxml解析器或其他可能的第三方解析器将HTML解析为汤对象,作为使用默认BS解析器的替代方法:

BeautifulSoup(markup, "lxml")
Run Code Online (Sandbox Code Playgroud)

类似地,lxml文档说您可以lxml使用BS解析器将HTML解析为树对象,作为使用默认lxml.html解析器的替代方法:

root = lxml.html.soupparser.fromstring(tag_soup)
Run Code Online (Sandbox Code Playgroud)