关于BeautifulSoup
简单来说,Beautiful Soup
是Python
的一个库,最主要的功能是从网页抓取数据。
官方解释如下:
BeautifulSoup
提供一些简单的、Python
式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
BeautifulSoup
自动将输入文档转换为Unicode
编码,输出文档转换为utf-8
编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,BeautifulSoup
就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
BeautifulSoup
已成为和lxml
、html6lib
一样出色的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 格式的文档 | 速度慢;不依赖外部扩展 |