BeautifulSoup4模块
BeautifulSoup是一个可以从html或xml文档中提取数据的模块,它会将输入文档都转换为unicode,默认将输出文档转换为utf-8。BeautifulSoup的用法如下所示:
from bs4 import BeautifulSoup as BS
soup = BS(docstr_or_fileobj, parser) # 不指定parser时,Beautiful Soup会将当前文档作为HTML格式解析
BeautifulSoup有如下所示解析器:
解析器 | 使用方法 | 优势 | 劣势 |
---|---|---|---|
Python标准库 | BeautifulSoup(markup, “html.parser”) | Python的内置标准库; 执行速度适中; 文档容错能力强; |
Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差 |
lxml HTML解析器 | BeautifulSoup(markup, “lxml”) | 速度快; 文档容错能力强; |
需要安装C语言库 |
lxml XML解析器 | BeautifulSoup(markup, “xml”);BeautifulSoup(markup, [“lxml-xml”]) | 速度快; 唯一支持XML的解析器; |
需要安装C语言库 |
html5lib | BeautifulSoup(markup, “html5lib”) | 最好的容错性; 以浏览器的方式解析文档; 生成HTML5格式的文档; |
速度慢; 不依赖外部扩展; |
BeautifulSoup定义了自己的文档树结构,由以下4种对象组成:
对象 | 和lxml对象相比 | 属性和方法 |
---|---|---|