Python 美丽之群:什么';这是';lxml';和';语法分析器';和';html5lib';解析器?
使用Beautiful Soup时,“lxml”与“html.parser”和“html5lib”有什么区别? 你什么时候会使用其中一种方法来替代另一种方法,以及每种方法的优点?当我使用它们时,它们似乎是可以互换的,但这里的人告诉我,我应该使用不同的。我想加强我的理解;我在这里读过几篇关于这个的帖子,但他们根本没有详细讨论过它的用途 例如:Python 美丽之群:什么';这是';lxml';和';语法分析器';和';html5lib';解析器?,python,html,web-scraping,beautifulsoup,lxml,Python,Html,Web Scraping,Beautifulsoup,Lxml,使用Beautiful Soup时,“lxml”与“html.parser”和“html5lib”有什么区别? 你什么时候会使用其中一种方法来替代另一种方法,以及每种方法的优点?当我使用它们时,它们似乎是可以互换的,但这里的人告诉我,我应该使用不同的。我想加强我的理解;我在这里读过几篇关于这个的帖子,但他们根本没有详细讨论过它的用途 例如: soup = BeautifulSoup(response.text, 'lxml') 主要区别在BeautifulSoup文档中突出显示: 为什么
soup = BeautifulSoup(response.text, 'lxml')
主要区别在BeautifulSoup文档中突出显示:
-内置-无需额外依赖项html.parser
-最宽松-如果HTML被破坏,最好使用它html5lib
-最快的lxml
BeautifulSoup(标记,“html.parser”)
- 优点:包括电池,速度快,轻便(从Python 2.7.3和3.2开始)
- 缺点:不太宽松(在Python 2.7.3或3.2.2之前)
BeautifulSoup(标记,“lxml”)
- 优点:速度快,宽大
- 缺点:外部C依赖
BeautifulSoup(标记,“html5lib”)
- 优点:非常宽松,像web浏览器一样解析页面,创建有效的HTML5
- 缺点:非常慢,外部Python依赖
谢谢——
html5lib
(作为已损坏HTML的解析器)刚刚保存了我的培根