HTML解析之BeautifulSoup

it2025-01-05  18

  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

相关资源:Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
最新回复(0)