多语言展示
当前在线:368今日阅读:84今日分享:32

Python库详解之BeautifulSoup库

BeautifulSoup模块是用来从HTML/XML等文件提取所需数据的Python库.模块定义了许多有效的方法,便于处理导航、搜索、修改分析树等功能.与re模块相比,实现相同的功能简便高效.下图是bs4模块定义的子模块以及BeautifulSoup模块定义的函数.
工具/原料
1

ubuntu 16.04LTS系统

2

交互开发环境IPython 2.4.1

3

Python 2.7.12

方法/步骤
1

下文通过一段测试文本,说明BeaufulSoup的使用方法.首先导入模块:from bs4 import BeautifulSoup

2

使用BeautifulSoup解析这段代码,能够获取该模块的对象,而且能够得到一个标准缩进结构的格式化输出.

3

有了BeautifulSoup格式化的输出,我们可以简单测试下BeautifulSoup对性的属性,从下图可知,读入的txt是被BeautifulSoup模块转换为unicode编码形式了.

4

再来看下BeautifulSoup模块常用的函数方法.

5

初次使用bs = BeautifulSoup(html_txt)会有如下告警,提示可以用不用的html解析器来处理.

6

以下是主要的解析器和优缺点.

7

下图是不同的解析器之间的区别.可以看到字符:,用python默认的解析器以及lxml解析器解析后会自动补齐,但xml解析器则不会,由此可看到,如果被解析的HTML文档是标准格式,那么解析器之间没有任何差别,只是解析速度不同,结果都会返回正确的文档树.如果不是标准格式,那么不同的解析器返回结果可能不同.

注意事项
1

注意BeautifulSoup读入的文件会自动转为unicode编码.

2

注意不同解析器的区别.

推荐信息