python bs4 find_all_BeautifulSoup中的find,find_all

本文介绍了Python的BeautifulSoup库中find()和find_all()方法的使用,包括查找标签、文本、属性、正则表达式以及组合查找。通过实例展示了如何查找HTML文档中的特定元素,如通过标签名、文本内容、属性等,并演示了如何限制查找结果的数量。
摘要由CSDN通过智能技术生成

1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。

以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautiful Soup。

找到第一生产者:

生产者在第一个标签里,因为生产者在整个html文档中第一个标签中出现,所以可以使用find()方法找到第一生产者,在ecologicalpyramid.py

中写入下面一段代码,使用ecologicalpyramid.html文件创建BeautifulSoup对象。

from bs4 importBeautifulSoup

with open('ecologicalpyramid.html', 'r') as ecological_pyramid:    #ecological 生态系统 pyramid 金字塔

soup =BeautifulSoup(ecological_pyramid)

producer_entries= soup.find('ul')print(producer_entries.li.div.string)

输出结果:plants

2.find()

find函数:

find(name, attrs, recursive, text, **wargs)    # recursive 递归的,循环的

这些参数相当于过滤器一样可以进行筛选处理。不同的参数过滤可以应用到以下情况:

查找标签,基于name参数

查找文本,基于text参数

基于正则表达式的查找

查找标签的属性,基于attrs参数

基于函数的查找

通过标签查找:

可以传递任何标签的名字来查找到它第一次出现的地方。找到后,find函数返回一个BeautifulSoup的标签对象。

from bs4 importBeautifulSoup

with open('ecologicalpyramid.html', 'r') as ecological_pyramid:

soup= BeautifulSoup(ecological_pyramid, 'html')

producer_entries= soup.find('ul')print(type(producer_entries))

输出结果:

通过文本查找:

直接字符串的话,查找的是标签。如果想要查找文本的话,则需要用到text参数。如下所示:

from bs4 importBeau

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值