BeautifulSoup数据解析

发布时间 2023-04-11 22:05:50作者: 同淋雪

BeautifulSoup数据解析

1、安装

pip install bs4

2、导入

 from bs4 import BeautifulSoup

3、提取子页面的URL

子页面的URL如果开头是/,直接在前面拼接上域名

子页面的URL如果不是/开头,此时需要找到主页面的URL,去掉最后一个/后面的所有内容,再和当前获取的URL拼接。

4、使用BeautifulSoup

(1)解析

res = requests.get(url)
res.encoding = "utf-8"  # 解决乱码问题

# 初始化BeautifulSoup对象
bs = BeautifulSoup(res.text,"html.parser")  # res.text是提取的源代码

注:这里一般只使用“utf-8”和"gbk"两种编码格式

(2)查找

bs.find("标签名")  # 查找第一个标签
bs.find("标签名",attrs={"属性名":"属性值"})  # 查找属性名等于属性值的标签

# find与find_all用法是类似的
bs.find_all("标签名")  # 查找所有指定标签

# 按层查找
div = bs.find("标签名")
a = div..find("标签名")

(3)取值

a.text()  # 取文本
a.get("属性名")  # 取属性

4、示例

image-20230411211931361