python - 如何提取嵌套在多个division元素中的anchor元素

标签 python html web-scraping beautifulsoup css-selectors

我正在尝试从我 BeautifulSoup 对象中提取 anchor 元素,每个元素都嵌套在多个部分中。划分重复,用一些脚本分隔

我试图利用 anchor 元素中的公共(public)类属性来提取它们

我得到的代码:

<div id='container'>
<div class='nested'>
<a href='some url' class='link'>
</a>
</div>
</div>

#some scripts ....

<div id='container'>
<div class='nested'>
<a href='some url' class='link'>
</a>
</div>
</div>

我尝试过的:

import requests, bs4, webbrowser

webpage=requests.get('some url')
webpage.raise_for_status()
soup=bs4.BeautifulSoup(webpage.text)
links=soup.select('.link a')

for i in range(0,5):
  webrowser.open('intial site url'+links[i].get('href'))
print(links)

未打开任何选项卡。打印链接给出了一个空白列表

最佳答案

替换你的行代码:

links=soup.select('.link a')

  links=soup.find_all('a',{'class':'link'})
  print(links)

O/P:

[<a class="link" href="some url">
</a>, <a class="link" href="some url">
</a>]

a 标签获取 href:

for link in links:
  href = link['href']
  print(href)

关于python - 如何提取嵌套在多个division元素中的anchor元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56322007/

相关文章:

python:if 语句后跟一个变量(单词)

javascript - 删除后输入仍然存在

html - 为什么我的提交按钮没有提交表单数据? - HTML/节点

Javascript 无法处理从其他来源提取的内容

python - 可以隐式检查 "zeroness"或 "emptiness"的变量类型

java - SimpleDateFormat 解析 strftime 生成的日期时出现问题

python - 嵌入式 Python 找不到某些模块,(ctypes,...)

python - Scrapy - 如何在 url 中勾选复选框然后抓取

javascript - Google 表格上的 ImportXML 出现问题

python - 尽管 id 存在,Python 中的 Beautiful Soup 找不到 id