python爬虫数据提取-BeautifulSoup库

本文介绍了如何使用Python的BeautifulSoup库进行网页解析,包括生成soup对象、查找特定标签、使用正则表达式筛选标签以及使用select选择器进行复杂查询。通过实例展示了如何获取标签属性、文本内容以及使用不同方式查找标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bs4库
from bs4 import BeautifulSoup

soup=BeautifulSoup(html,”html.parser”)生成soup对象
soup.html# 字符串输出html
soup.prettify()
soup.p # html的第一个p标签
tsoup.p.attrs

p标签的属性值 {‘class’: [‘title’], ‘name’: ‘dromouse’}ype(soup.p) # <class ‘bs4.element.Tag’>

soup.p.attrs[‘class’] # p标签的属性 class的值
soup.p[‘class’]) # p标签的属性 class的值
soup.p.string) # p标签的文本
type(soup.p.string) # <class ‘bs4.element.NavigableString’>

Comment 对象是一个特殊类型的 NavigableString 对象,其输出的内容不包括注释符号。

print(soup.a.string) # Elsie
print(type(soup.a.string)) # <class ‘bs4.element.Comment’>

soup.find_all(attrs={“data-foo”: “value”})
查找所有attrs属性的标签
soup.find(class_=“bmsg”)
查找所有class为bmsg的标签,class后面记得加一个下划线
p_list = soup.find_all(‘p’) # 找到所有p标签
soup.find_all(id=‘link2’)#查找所欲id为link2的标签
soup.find_all(text=“Elsie”)#查找文本内容为Elisie的标签
soup.find_all(href=re.compile(“elsie”), id=‘link1’)
查找id为link1,链接包含re.compile(“elsie”)形式的标签
以上所欲传入的值也可以是正则表达式形式,列表
soup.find_all(text=[“Tillie”, “Elsie”, “Lacie”])

selsect选择器查找
p_list = soup.select(‘p’) #标签选择器
class_list = soup.select(’.sister’) # 类选择器
tag_list = soup.select(’#link1’) # id选择器
tag_list = soup.select(‘p .sister’) # 后代选择器
attr_list = soup.select(‘a[class=“sister”]’) # 属性选择器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值