一文入门Beautiful Soup4
本文中主要介绍的BeautifulSoup4
,从简介、安装、解析器使用、语法介绍、遍历文档树、搜索文档树等进行了介绍,能够快速地入门。
- 什么是BS4
- 如何安装BS4
- 解析器比较
- BS4语法
- 四大对象种类
- 遍历文档树
- 搜索文档树
- CSS选择器
<!--MORE-->
崔庆才-爬虫利器二之BS的用法
BS4-中文
什么是BS4
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式
安装bs4
代码语言:txt复制pip install beautifulsoup4
解析器
安装解析器
Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,其中一个是 lxml .根据操作系统不同,可以选择下列方法来安装lxml:
代码语言:txt复制$ apt-get install Python-lxml
$ easy_install lxml
$ pip install lxml
另一个可供选择的解析器是纯Python实现的 html5lib ,html5lib的解析方式与浏览器相同,可以选择下列方法来安装html5lib:
代码语言:txt复制$ apt-get install Python-html5lib
$ easy_install html5lib
$ pip install html5lib
常用解析器比较
下表列出了主要的解析器,以及它们的优缺点:
解析器 | 使用方法 | 优势 | 劣势 |
---|---|---|---|
Python标准库 |
| Python的内置标准库执行速度适中文档容错能力强 | Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差 |
lxml HTML 解析器 |
| 速度快文档容错能力强 | 需要安装C语言库 |
lxml XML 解析器 |
| ||
html5lib |
| 最好的容错性以浏览器的方式解析文档生成HTML5格式的文档 | 速度慢 |
语法
官方解释
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
提取步骤
使用Beautiful Soup4
提取HTML
内容,一般要经过以下两步:
- 处理源代码生成
BeautifulSoup
对象 - 使用
find_all()
或者find()
来查找内容
快速入门
使用的是$color{red}{爱丽丝梦游仙境}$中的一段内容
代码语言:txt复制html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""
下面