HTML解析之BeautifulSoup

  BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。BeautifulSoup提供一些简单的、函数用来处理导航、搜索、修改分析树等功能。BeautifulSoup模块中的查找提取功能非常强大,而且非常便捷,它通常可以节省程序员数小时或数天的工作时间。

  BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,BeautifulSoup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

1、安装,先装bs4,再装BeautifulSoup4

BeautifulSoup支持python标准库中包含的HTML解析器,但它也支持许多第三方python解释器,其中包含lxml解释器。这个安装就行。

  另一个解释器是html5lib,它是一个解析HTML的python库,按照web浏览器的方式解析HTML。这个安装就行

 

解释器的优缺点:

 解释器 用法优点  缺点
 Python标准库BeautifulSoup(markup,'html.parser') 

Python标准库   执行速度适中 

部分版本中文档容错能力差 
 lxml的HTML解释器BeautifulSoup(markup,'lxml')  速度快,文档容错能力强 需要安装c语言库
 lxml的XML解释器

BeautifulSoup(markup,'lxml-xml')

BeautifulSoup(markup,'xml') 

 速度快

唯一支持xml的解析器

需要安装c语言库 
 html5libBeautifulSoup(markup,'html5lib') 

最好的容错性

以浏览器的方式解析文档生成HTML5格式的文档 

速度慢

不依赖外部扩展 

 

2、BeautifulSoup的使用

下面用BeautifulSoup进行HTML的解析工作,具体如下:

from bs4 import BeautifulSoup

#创建一个BeautifulSoup对象,获取页面正文
soup=BeautifulSoup(open('test.html'),features='lxml')
print(soup.prettify())  #打印格式化后的代码

 

转载于:https://www.cnblogs.com/start20180703/p/10442401.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值