【网络安全带你练爬虫-100练】第3练:遍历获取到的列表中元素

文章介绍了如何使用Python的BeautifulSoup库深入解析HTML,从特定class的div元素中提取所有子元素的文本内容。通过修改代码,实现了遍历爬取同一标签内所有内容的功能,从而能获取多个div元素中的全部描述信息。

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

目录

一、前言:

二、分析代码

三、完善代码


一、前言:

(1)本练,我们来完善一下对于数据的处理

(2)对于同一标签内的内容的遍历爬取

上一段代码的,我们是不是在那个曾用名、高新技术企业、企业技术中兴

(也就是对于的企业的描述那里,指爬取到第一个)



二、分析代码

上一段代码:

company_type = item.find('div', attrs={'class': 'index_tag-list__wePh_'}).find_all('div', attrs={'class': 'index_tag-common__edIee'})[0].text

代码注释:

(1)item.find('div', attrs={'class': 'index_tag-list__wePh_'}) 表示在变量 item 所代表的HTML页面中查找具有 class 属性为 'index_tag-list__wePh_' 的 <div> 元素。这个方法返回的是第一个满足条件的 <div> 元素。

(2).find_all('div', attrs={'class': 'index_tag-common__edIee'}) 表示在前面找到的 <div> 元素内继续查找具有 class 属性为 'index_tag-common__edIee' 的所有 <div> 元素。这个方法返回的是一个列表,包含满足条件的所有元素。

(3)[0].text 表示从前面返回的列表中取出第一个元素,并获取其文本内容。.text 是 BeautifulSoup 库中的方法,用于提取元素的文本内容。


运行结果


三、完善代码

修改代码:

要获取class属性为index_tag-common__edIee的div元素中的所有文本内容

company_type = item.find('div', attrs={'class': 'index_tag-list__wePh_'}).find_all('div', attrs={'class': 'index_tag-common__edIee'}) 
tpye_texts = [element.text for element in company_type]

这将返回一个包含所有匹配的div元素中的文本内容的列表。


注释:

(1)item.find('div', attrs={'class': 'index_tag-list__wePh_'}) 表示在变量 item 所代表的 HTML 页面中查找具有 class 属性为 'index_tag-list__wePh_' 的 <div> 元素。这个方法返回的是第一个满足条件的 <div> 元素。

(2).find_all('div', attrs={'class': 'index_tag-common__edIee'}) 表示在前面找到的 <div> 元素内继续查找具有 class 属性为 'index_tag-common__edIee' 的所有 <div> 元素。这个方法返回的是一个列表,包含满足条件的所有元素。

(3)type_texts = [element.text for element in company_type] 是一个列表推导式。它遍历名为 company_type 的列表中的每个元素,并使用 .text 方法获取每个元素的文本内容。这样就创建了一个新的列表 type_texts,其中包含了 company_type 列表中每个元素的文本内容。


结果展示:



网络安全小圈子

README.md · 书半生/网络安全知识体系-实战中心 - 码云 - 开源中国 (gitee.com)icon-default.png?t=N5K3https://gitee.com/shubansheng/Treasure_knowledge/blob/master/README.md

GitHub - BLACKxZONE/Treasure_knowledgeicon-default.png?t=N5K3https://github.com/BLACKxZONE/Treasure_knowledge

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值