python find next_python爬虫:使用BeautifulSoup进行查找

本文介绍了如何使用Python的BeautifulSoup库来查找HTML文档中的元素,包括find()、find_all()以及find系列的相关方法,如查找父标签、同胞标签、下一个和上一个元素等,并通过实例展示了各种查找方法的用法。
摘要由CSDN通过智能技术生成

网页中有用的信息通常存在于网页中的文本或各种不同标签的属性值,为了获得这些网页信息,有必要有一些查找方法可以获取这些文本值或标签属性。而Beautiful Soup中内置了一些查找方式:

find()

find_all()

find_parent()

find_parents()

find_next_sibling()

find_next_siblings()

find_previous_sibling()

find_previous_siblings()

find_previous()

find_all_previous()

find_next()

find_all_next()

使用find()查找

以下这段HTML是例程要用到的参考网页

  • plants
    100000
  • algae
    100000
  • deer
    1000
  • rabbit
    2000
      • fox
        100
      • bear
        100
      • lion
        80
      • tiger
        50

以上代码是一个生态金字塔的简单展示,为了找到其中的第一生产者,第一消费者或第二消费者,我们可以使用Beautiful Soup的查找方法。一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,我们可以使用find()方法。

找到第一生产者

可以明显看到,生产者在第一个

  • 标签里,因为生产者是在整个HTML文档中第一个
    • 标签中出现,所以可以简单的使用find()方法找到第一生产者。下图HTML树代表了第一个生产者所在位置。

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

from bs4 import BeautifulSoup

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

soup = BeautifulSoup(ecological_pyramid)

producer_entries = soup.find("ul")

print(producer_entries.li.div.string)

输出得到:plants

find()说明

find()函数如下:

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

这些参数相当于过滤器一样可以进行筛选处理。

不同的参数过滤可以应用到以下情况:

查找标签,基于name参数

查找文本,基于text参数

基于正则表达式的查找

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

基于函数的查找

通过标签查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值