BeautifulSoup中各種html解析器的比較及使用
阿新 • • 發佈:2019-01-27
Beautiful Soup解析器比較
·Beautiful Soup支援各種html解析器,包括python自帶的標準庫,還有其他的許多第三方庫模組。其中一個就是lxml parser,至於lxml parser的安裝,可以通過以下方法安裝:
1)easy_install lxml
2)pip install lxml
另外,python對於模組的安裝,可以檢視部落格說明,分為兩種:easy_install 和 pip.
另外一種純python解析器為html5lib解析器,可以像web瀏覽器那樣解析html頁面,你可以通過下面兩種方式安裝html5lib:
1)easy_install html5lib
2)pip install html5lib
下面對各種html解析器的優缺點做一下對比:
解析器 | 使用方法 | 優點 | 缺點 |
---|---|---|---|
Python’s html.parser | BeautifulSoup(markup,"html.parser") |
|
不能很好地相容(before Python 2.7.3 or 3.2.2) |
lxml’s HTML parser | BeautifulSoup(markup,"lxml") |
|
External C dependency |
lxml’s XML parser | BeautifulSoup(markup, "lxml-xml")BeautifulSoup(markup,"xml") | 速度很快
|
External C dependency |
html5lib | BeautifulSoup(markup,"html5lib") | 1)相容性很好 2)可以像web瀏覽器一樣解析html頁面 3) Creates valid HTML5 |
|
如果你想追求速度的話,建議使用lxml,如果你使用的python版本2.x是2.7.3之前的版本,或者python3.x的是3.2.2之前的版本,你很有必要安裝使用html5lib或lxml使用,因為python內建的html解析器不能很好地適應於這些老版本。