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

如何通过父div筛选元素,保留a标签并提取其href属性?

问题分析与解决方案

原代码的核心问题是提前调用了decompose()方法移除父元素,导致后续无法从已被删除的节点中查找并提取a标签的href属性。

修正后的代码

for images_url_parent in sub_doc.find_all(class_=['woocommerce-product-gallery__image flex-active-slide', 'woocommerce-product-gallery__image']):
    # 先从父元素里提取所有a标签的href属性
    a_tags = images_url_parent.find_all('a')
    for a in a_tags:
        href = a.get('href')
        print(href)  # 可根据需求将href存入列表或做其他处理
    # 确认提取完成后,再移除父元素(如果业务逻辑需要的话)
    images_url_parent.decompose()

关键说明

  • 调整操作顺序:先提取目标数据,再执行移除操作,避免节点被删除后无法访问子元素
  • 不需要嵌套循环遍历父元素,直接用find_all('a')就能定位到目标标签,再通过get('href')获取属性值
  • 如果不需要保留这些父div节点,再执行decompose();若不需要移除,直接删掉该行即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:27:09