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 解析器

beautiful soup 在解析时需要依靠解析器,他除了支持python标准库的HTML解析器,还支持一些第三方解析器(如lxml)。
python爬虫学习30_第1张图片

使用前先进行安装:

pip3 install beautifulsoup4

下载的时候可能会超时,多试几次或者干脆挂个镜像

安装完成后,使用 bs4调用lxml解析器

# 解析器的调用
from bs4 import BeautifulSoup

soup = BeautifulSoup('

Hellow python

'
, 'lxml') print(soup.p.string)

运行结果:

在这里插入图片描述

6-3 基本使用

from bs4 import BeautifulSoup

html = """
一段html文本

        
		
"""
# 调用 lxml 解析器 soup = BeautifulSoup(html, 'lxml') # 标准化html中的HTML文本 print(soup.prettify()) # 获取 title 节点中的字符串 print(soup.title.string)

运行结果:

对于输出后的html文本
可以看到html、head等节点被自动补全了
python爬虫学习30_第2张图片

对于我们获取的字符串:

在这里插入图片描述

6-4 节点选择器

使用节点选择器进行节点选择:

# 节点选择器

from bs4 import BeautifulSoup

html = """
一段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爬虫学习30_第3张图片
今日结束,未完待续…

你可能感兴趣的:(python,爬虫,学习)