这里的Python学生,学习网络抓取的基础知识。试图从我从网页中抓取的这个bs4元素中提取链接。
house = committee[0].find_all("li")
house结果:
[<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 ... ]因此,当我试图提取链接时,我使用的是列表理解:
links_h = [link.get(" href")for link in house]
links_h但是它没有返回链接,而是返回以下内容:
[None,
None,
None,
None,
None]不确定我是否需要做些不同的事因为这是内在的联系..。我只是有点迷茫。任何帮助都是非常感谢的。
发布于 2022-10-02 19:18:05
您有一个没有li属性的href标记列表-- href属性是a标记的属性,这些标记被包装为列表项。
您可以获得这样的href:
links_h = [link.find('a').get("href")for link in house if link.find('a')]或您可以尝试将a标记直接作为
house = committee[0].select("li > a")这样,[link.get("href")for link in house]部分就可以工作了。
https://stackoverflow.com/questions/73920493
复制相似问题