python爬虫学习30
这里写目录标题
-
- python爬虫学习30
-
- 六、Beautiful Soup 的使用
-
- 6-1 Beautiful Soup 简介
- 6-2 解析器
- 6-3 基本使用
- 6-4 节点选择器
六、Beautiful Soup 的使用
之前我们学过了 lxml库,今天我们一同学习Beautiful Soup库的使用
6-1 Beautiful Soup 简介 Beautiful Soup 是Python的一个HTML或XML的解析库,我们可以用它方便的从网页中提取数据。
它提供了一些简单的、python式的函数来处理导航、搜索、修改分析树等功能。beautiful soup自动将输入文档转换为Unicode编码,将输出文档转化为utf-8编码。
这时我们就不需要考虑编码的方式,只需要说明一下原始编码即可。
与lxml库一样,beautiful soup都是用来解析网页的python解释器。
6-2 解析器 【python|python爬虫学习30】beautiful soup 在解析时需要依靠解析器,他除了支持python标准库的HTML解析器,还支持一些第三方解析器(如lxml)。
文章图片
使用前先进行安装:
pip3 install beautifulsoup4
下载的时候可能会超时,多试几次或者干脆挂个镜像
安装完成后,使用 bs4调用lxml解析器
# 解析器的调用
from bs4 import BeautifulSoupsoup = BeautifulSoup('Hellow python
', 'lxml')
print(soup.p.string)
运行结果:
文章图片
6-3 基本使用
from bs4 import BeautifulSouphtml = """
一段html文本 - 锐客网
- 首页
- 我的书架
- 玄幻小说
- 修真小说
- 都市小说
- 穿越小说
- 网游小说
- 科幻小说
- 排行榜单
- 完本小说
- 全部小说
"""
# 调用 lxml 解析器
soup = BeautifulSoup(html, 'lxml')
# 标准化html中的HTML文本
print(soup.prettify())
# 获取 title 节点中的字符串
print(soup.title.string)
运行结果:
对于输出后的html文本
可以看到html、head等节点被自动补全了
文章图片
对于我们获取的字符串:
文章图片
6-4 节点选择器 使用节点选择器进行节点选择:
# 节点选择器from bs4 import BeautifulSouphtml = """
一段html文本 - 锐客网
- 首页
- 我的书架
- 玄幻小说
- 修真小说
- 都市小说
- 穿越小说
- 网游小说
- 科幻小说
- 排行榜单
- 完本小说
- 全部小说
"""
soup = BeautifulSoup(html, 'lxml')
# 选取title节点
print(soup.title)
# title节点属性
# 返回的结果是 bs4.element.Tag class
print(type(soup.title))
# 获取 title 节点中的字符串
print(soup.title.string)
# 获取head节点
print(soup.head)
# 获取 p节点 可以看到结果没有则返回None
print(soup.p)
运行结果:
文章图片
今日结束,未完待续…
推荐阅读
- Python爬虫基础学习笔记|python爬虫学习21
- Python爬虫基础学习笔记|python爬虫学习14
- #yyds干货盘点#python包
- Python求列表中最大,最小,第二大,第二最小值
- 使用 Sanic 框架进行 Python Web 开发
- #yyds干货盘点#List移除某个值remove - python基础学习系列
- Python Kivy .kv文件介绍和用法示例
- Python OpenCV仿射变换实现详细指南
- Python使用Pandas处理日期和时间