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

Webscraping代码在相似页面执行失败:新赛事页出现KeyError: 'href'

问题原因与解决办法
  • 核心问题:新页面中你通过选择器匹配到的a标签里,存在没有href属性的标签,直接用a_tag['href']访问不存在的属性就会抛出KeyError。哪怕页面整体结构看着相似,局部细节可能已经悄悄改变了。
  • 快速修复方案:
    1. 替换直接取属性的方式,改用get()方法安全获取href:
      # 原来的错误写法(易报错)
      href = a_tag['href']
      # 改成安全写法,属性不存在时返回None
      href = a_tag.get('href')
      
    2. 过滤掉无效的空链接,只保留有实际href的结果:
      target_links = []
      for a_tag in soup.select('你的选择器'):
          link = a_tag.get('href')
          if link:  # 排除None和空字符串类型的无效链接
              target_links.append(link)
      
  • 进阶排查优化:
    • 用浏览器F12开发者工具,对比新旧页面的目标a标签,看新页面的标签是否有类名、层级变化,或者href换成了data-href这类自定义属性。
    • 优化选择器,直接匹配包含href的目标标签,比如如果目标链接都带有b-link类,就把选择器改成'a.b-link[href]',提前过滤掉无href的标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:27:01