Beautiful Soup是Python的一个网页解析库,处理快捷; 支持多种解析器,功能强大。教程细致讲解Beautiful Soup的深入使用、节点选择器、CSS选择器、Beautiful Soup4的方法选择器等重要知识点,是学好爬虫的基础课程。
Beautiful Soup基本使用
学习目标
- 掌握Beautiful Soup初始化的方式
- 掌握Beautiful Soup初始化参数的含义
1. 使用Beautiful Soup的步骤
简单的使用Beautiful Soup,大致可以分为三步:
- 导入Beautiful Soup类
from bs4 import BeautifulSoup
- 初始化参数,需要传递两个参数:HTML代码和HTML解析器
soup = BeautifulSoup(markup, features)
- 获取Beautiful Soup实例对象,通过操作对象来获取解析结果并提取数据
soup.prettify() soup.title
2. 初始化Beautiful Soup对象
从bs4库
中导入BeautifulSoup类
实例化一个对象。
from bs4 import BeautifulSoup
soup = BeautifulSoup(markup, features)
在实例化的过程中,需要给BeautifulSoup
这个类传递两个参数: markup
、features
。
1. 第一个参数:markup
- 参数解释:被解析的HTML字符串或文件内容,也就是说
markup
是用来接收需要解析的HTML字符串或者文件内容的。 - 使用方式两种:
- 使用字符串变量。直接将html数据以字符串的形式传入。
# 使用第一步的html_str字符串变量 from bs4 import BeautifulSoup soup = BeautifulSoup(html_str)
- 使用open()函数打开文件,将html数据以文件流的形式传入。
# 假设将html_str字符串写入了index.html中 from bs4 import BeautifulSoup soup = BeautifulSoup(open(index.html))
2. 第二个参数:features
- 参数解释:解析器的类型
- 使用方式有两种:
- 指定解析器,BeautifulSoup选择指定的解析器来解析文档
# 指定lxml作为解析器 from bs4 import BeautifulSoup soup = BeautifulSoup(html_str, 'lxml')
- 未指定解析器,BeautifulSoup选择最默认的解析器来解析文档
# 解析html_str选择最默认的解析器 from bs4 import BeautifulSoup soup = BeautifulSoup(html_str)
3. 总结
如何使用Beautiful Soup解析HTML文档?
这个非常的简单,只需要使用Beautiful Soup类初始化一个对象,然后操作这个对象就可以了。
需要注意的是:在初始化的对象的时候,需要给Beautiful Soup类传递两个参数,HTML代码和HTML解析器
这部分的内容作为今后使用Beautiful Soup4的基础,需要同学熟练掌握这部分的内容。