8.爬虫数据提取——bs4的解析引擎介绍
爬虫数据提取——bs4的解析引擎介绍
在使用requests库获取到html字符串之后,接下来我们便可以使用bs4库对其进行解析,比如:
from bs4 import BeautifulSoup
#content为待解析的html字符串
#lxml为bs4的解析器[解析器有不同的选择]
soup = BeautifulSoup(content,"lxml")
在这里我们需要自行选择不同的解析器,我们本次来盘点一下bs4的解析器。
解析器 | 使用方法 | 优势 | 劣势 |
Python标准库 | soup = BeautifulSoup(html,"html.parser") | 1.Python内置标准库 2.执行速度适中 | Python2.x或者python3.2x前的版本中文文档容错能力差 |
lxml HTML解析器 | soup = BeautifulSoup(html,"lxml") | 1.速度快 2.文档容错能力强 | 需要安装C语言库 |
lxml XML解析器 | soup = BeautifulSoup(html,"xml") | 1.速度快 2.唯一支持XML的解析器 | 需要安装C语言库 |
html5lib | soup = BeautifulSoup(html,"html5lib") | 1.最好的容错性 2.以浏览器的方式解析文档 3.生成HTML5格式的文档 4.不依赖外部扩展库 | 1.速度慢 |
1.一般来说,我们使用lxml解析器,速度快,并且还有一些容错能力。【lxml解析器为首选】
2.如果碰到一些网站,使用lxml无法解析的时候,就可以使用html5lib作为解析器进行解析,不过html5lib需要自己安装。
3.html5lib安装方式:(1)在线安装:pip install html5lib
(2)离线安装:pip install +whl文件
扫描二维码即可参与该课程,解锁更多爬虫知识: