BeautifulSoup中的HTML解析器对比

来源:互联网 发布:完美dota2 有mac版 编辑:程序博客网 时间:2024/05/16 07:44

参考来源: http://cuiqingcai.com/1319.html


关于BeautifulSoup

简单来说,Beautiful SoupPython的一个库,最主要的功能是从网页抓取数据。

官方解释如下:
BeautifulSoup提供一些简单的、Python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,BeautifulSoup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
BeautifulSoup已成为和lxmlhtml6lib一样出色的 Python解释器,为用户灵活地提供不同的解析策略或强劲的速度。


BeautifulSoup中的HTML解析器对比

解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup, “html.parser”) Python的内置标准库;执行速度适中;文档容错能力强 Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差 lxml HTML 解析器 BeautifulSoup(markup, “lxml”) 速度快;文档容错能力强 需要安装C语言库 lxml XML 解析器 BeautifulSoup(markup, [“lxml”, “xml”]) 速度快;唯一支持XML的解析器 需要安装C语言库 html5lib BeautifulSoup(markup, “html5lib”) 最好的容错性;以浏览器的方式解析文档;生成HTML5格式的文档 速度慢;不依赖外部扩展
原创粉丝点击