Python爬虫包 BeautifulSoup 学习(十) 各种html解析器的比较及使用

BeautifulSoup号称Python中最受欢迎的HTML解析库之一,但是这并不是唯一的选择。

解析库

lxml

这个库可以用来解析HTML和XML文档,以非常底层的实现而闻名,大部分源码都是C语言写的,虽然学习这东西要花一定的时间,但是它的处理速度非常快。

HTML parser

这是python自带的解析库,所以很方便。

解析器

其实上面提到的那些库,都可以作为BeautifulSoup的解析库,下面对各种html解析器的优缺点做一下对比:

Python’s html.parser

使用语法

BeautifulSoup(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 parser

使用语法

BeautifulSoup(markup,"lxml")    

优点

速度很快
兼容性好

缺点

需要额外的C语言支持

lxml’s XML parser

使用语法

BeautifulSoup(markup, "lxml-xml") BeautifulSoup(markup,"xml")   

优点

速度很快

缺点

现在只支持xml解析
需要额外的C语言支持

html5lib

使用语法

BeautifulSoup(markup, "html5lib")   

优点

兼容性很好
可以像web浏览器一样解析html页面
Creates valid HTML5

缺点

速度很慢
需要额外的python支持

你可能感兴趣的:(Python,&,Django开发)