python|python爬虫学习30

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)。
python|python爬虫学习30
文章图片

使用前先进行安装:
pip3 install beautifulsoup4

下载的时候可能会超时,多试几次或者干脆挂个镜像
安装完成后,使用 bs4调用lxml解析器
# 解析器的调用 from bs4 import BeautifulSoupsoup = BeautifulSoup('Hellow python
', 'lxml') print(soup.p.string)

运行结果:
python|python爬虫学习30
文章图片

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等节点被自动补全了
python|python爬虫学习30
文章图片

对于我们获取的字符串:
python|python爬虫学习30
文章图片

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爬虫学习30
文章图片

今日结束,未完待续…

    推荐阅读