【BeautifulSoup类的find_all()方法的其他属性的用法】

本文详细介绍了BeautifulSoup库中find_all()方法的使用,包括name、attrs、**kwargs等参数的含义和用法,以及如何通过多重索引进行嵌套查询。特别指出在指定class属性时,由于Python关键字冲突,需要使用class_。

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

html.find(‘div’,id = ‘nv’)
soup.findAll(‘a’,class_=“noresultRecommend img LOGCLICKDATA”)

步骤1:查询属性为id,属性值为link2的标签
soup.find_all(attrs={‘id’:‘link2’})

步骤1:查询属性为id,属性值为link2的标签:
[java学习网]

  1. find_all()方法的语法格式
    find_all (name, attrs, kwargs, text, limit, recursive)

find_all()方法有6个参数:
【参数1】name:接收tag名称。
【参数2】attrs:参数接收属性的键值对字典。
【参数3】**kwargs:接收变量赋值形式的属性。注意class后的下划线:class_
【参数4】text:接收文本信息。
【参数5】limit:限制返回的标签数量。
【参数6】recursive:是否获取子孙节点。
————————————————
BeautifulSoup find、findall()多级索引详解(附例题)

BeautifulSoup库的安装:
命令行运行:

pip3 install beautifulsoup4

标准选择器
find_all()

find_all( name , attrs , recursive , text , **kwargs )

find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件

常用参数:

name:标签名,使用html标签名来索引

sb = soup.find_all('img')

atters
可根据标签名、属性、内容查找文档。

使用双属性来查找元素:

content = html.find(attrs = {'class':'p_opt','id':'card_1550_menu_content'})

注意find_all()方法返回的是一个列表!访问列表的内容需要使用下标:

content[n]
#注意下标从0开始

而访问列表元素的下一级元素则使用:.contents[n]来访问(也是从0开始的)

content[n].contents[m]
#注意下标从0开始

嵌套查询:
嵌套查询很常用:

例子:

ul = html.find_all('ul')    #查找ul标签下的内容、嵌套选择
for li in ul:
    print(li.find_all('li')) #打印多个ul中的每一个

find()

find(name, attrs, recursive, text, wargs)

find用法和findall一模一样,但是返回的是找到的第一个符合条件的内容输出。注意find()方法返回的不是列表,而是一个单个元素对象,想要访问该对象的子元素就直接使用.contents[n]即可,不需要再添加下表
————————————————


print("步骤1:使用kwargs获取class等于sister3的标签:")
print(bs_duixiang.find_all(class_='sister3'),'\n')

print("步骤2:使用attrs获取class等于sister3的标签:")
print(bs_duixiang.find_all(attrs={"class","sister3"})) #非指定标签的Class属性
————————————————
版权声明:本文为优快云博主「安迪python学习笔记」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_63986098/article/details/125693423

【温馨提示】
attrs中使用的是class
kwargs中使用的是class_
因为对于class是Python中的一个关键字,因此这里的class后要加一个下划线,即class_=‘sister3’。

html.find('div',id = 'nv') #指定标签的ID属性
soup.findAll('a',class_="noresultRecommend img LOGCLICKDATA") #指定标签的Class属性

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值