You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup无法获取全部div类?Python网页数据提取求助

问题解决:提取所有目标元素的href和aria-label

原代码问题分析

你的代码第二个循环错误地遍历了div元素(flyers),而非之前找到的links列表,这导致你无法获取到所有a标签的属性。同时代码也没有处理aria-label的提取逻辑。

修正后的代码

from bs4 import BeautifulSoup

# 假设soup是已解析完成的HTML对象
for flyer_col in soup.find_all("div", class_='flyers_flyer-col__ZN_6Z'):
    # 获取当前div下所有带href属性的a标签
    links = flyer_col.find_all("a", href=True)
    # 遍历每个a标签提取目标属性
    for link in links:
        # 提取href
        href = link['href']
        # 提取aria-label,用get方法避免属性不存在时抛出异常
        aria_label = link.get('aria-label', '无aria-label属性')
        print(f"href: {href}, aria-label: {aria_label}")

关键修正点

  • 将第二个循环的遍历对象从flyers(div元素)改为links(a标签列表),确保遍历到所有目标链接
  • 使用link.get('aria-label', 默认值)的方式安全获取属性,避免因部分a标签无该属性导致程序报错
  • 调整变量名(flyer_col)提升代码可读性,避免变量名混淆

内容的提问来源于stack exchange,提问作者Katie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:15:38