首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用漂亮的汤刮链子有困难

用漂亮的汤刮链子有困难
EN

Stack Overflow用户
提问于 2022-10-01 17:43:01
回答 1查看 110关注 0票数 -1

这里的Python学生,学习网络抓取的基础知识。试图从我从网页中抓取的这个bs4元素中提取链接。

代码语言:javascript
复制
house = committee[0].find_all("li")
house

结果:

代码语言:javascript
复制
[<li><a href="/committee/house-agriculture/hsag00">Agriculture</a></li>,
<li><a href="/committee/house-appropriations/hsap00">Appropriations</a></li>,
<li><a href="/committee/house-armed-services/hsas00">Armed Services</a></li>,
<li><a href="/committee/house-budget/hsbu00">Budget</a></li>,
<li><a href="/committee/house-education-and-labor/hsed00">Education and ... ]

因此,当我试图提取链接时,我使用的是列表理解:

代码语言:javascript
复制
links_h = [link.get(" href")for link in house]
links_h

但是它没有返回链接,而是返回以下内容:

代码语言:javascript
复制
[None,
None,
None,
None,
None]

不确定我是否需要做些不同的事因为这是内在的联系..。我只是有点迷茫。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2022-10-02 19:18:05

您有一个没有li属性的href标记列表-- href属性是a标记的属性,这些标记被包装为列表项。

您可以获得这样的href

代码语言:javascript
复制
links_h = [link.find('a').get("href")for link in house if link.find('a')]

您可以尝试将a标记直接作为

代码语言:javascript
复制
house = committee[0].select("li > a")

这样,[link.get("href")for link in house]部分就可以工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73920493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档