BeautifulSoup中各种html解析器的比较及使用

来源:互联网 发布:怎么才能通过网络赚钱 编辑:程序博客网 时间:2024/06/05 07:46

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.parserBeautifulSoup(markup,"html.parser")

  • python自身带有
  • 速度比较快
  • 能较好兼容 (as of Python 2.7.3 and 3.2.)
不能很好地兼容(before Python 2.7.3 or 3.2.2)lxml’s HTML parserBeautifulSoup(markup,"lxml")
  • 速度很快
  • 兼容性好
External C dependencylxml’s XML parserBeautifulSoup(markup, "lxml-xml") BeautifulSoup(markup,"xml")   速度很快
  • The only currently supported XML parser
External C dependencyhtml5libBeautifulSoup(markup, "html5lib")1)兼容性很好
2)可以像web浏览器一样解析html页面
3) Creates valid HTML5
  • 速度很慢
  • External Python dependency

如果你想追求速度的话,建议使用lxml,如果你使用的python版本2.x是2.7.3之前的版本,或者python3.x的是3.2.2之前的版本,你很有必要安装使用html5lib或lxml使用,因为python内建的html解析器不能很好地适应于这些老版本。



1 0