【问题标题】:Web-scraping a-tag nested inside div-tagWeb-scraping a-tag 嵌套在 div-tag 中
【发布时间】:2021-10-01 00:58:44
【问题描述】:

我只想提取嵌套div标签的卡片的所有五个a标签数据列表,如图所示。怎么提取?

这个我试过了,

btag = []
for data in soup.find_all('div', id="mosaic-provider-jobcards"):
  for atag in data:
     atag = soup.find_all('a').append(btag)

print(btag)

但它没有显示。有人可以帮忙吗?

【问题讨论】:

  • print(data) 输出什么?
  • 您在循环中覆盖atag,并且每次都基于soup,将一个空列表附加到所有a标签的列表中。
  • @arsho 它不打印

标签: python html web-scraping beautifulsoup tags


【解决方案1】:

您可以使用 CSS 选择器:

soup.select('#mosaic-provider-jobcards > a')

https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css-selectors

【讨论】:

  • 我已经试过了,它有效。但为什么 len 只显示 4?如果可以看到,代码中有 5 个 a-tag。表示那里有 5 张卡片。
  • @xkderhaka 最后一张卡片似乎与其他卡片不同(某种广告?)。您确定它确实存在于您下载的页面内容中吗?广告通常使用 JavaScript 呈现。
  • 当我看到 id 与以工作而不是 sj 开头的 4 top 有点不同时,我同意你的看法。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 2019-03-18
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多