爬虫奇遇记——如何按照标签的文本内容来抓取

本文介绍了一种在使用BeautifulSoup进行网页解析时,针对相同class属性但内部文本不同的元素,通过文本内容而非索引来精确定位的技术方法。

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

俗话说的好:只要能爬下来,其他都不是事。

昨天写爬虫遇到这样一个情况:父标签的class内容都一样,里面子标签只有标签带文本,还是来张图比较明了:

我又要以站长之家的为例说明了


可以发现,这两块,父标签和子标签内容一模一样,findall第一个指向的是第一块的,直接用索引我试过,一开始是可以的,但是对于其他网页,有的并没有注册商这一块,这时候索引就对不上了,还有可能报IndexError

然后我就想,我能不能按照子标签的文本内容来找呢?这样我就肯定能找到了!

但是BeautifulSoup并没有提供按照文本查找的方法,怎么办呢?方法是人想出来的,BeautifulSoup也是人写出来的

这是我的实现方法,大神们如果有其他方法,欢迎讨论。


create_time_text = whois_check.find('li', class_='bor-b1s ')
    # 不能索引形式找,要用文本内容来找
    while True:
        if u'创建时间' not in create_time_text.text:   # 逐个匹配,找到创建时间所在的节点
            create_time_text = create_time_text.next_sibling
        else:
            break


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值