You need to enable JavaScript to run this app. 执行Python网页爬虫后生成的CSV文件无有效数据,附对应实现代码
优惠活动
大模型
产品
解决方案
定价
更多

执行Python网页爬虫后生成的CSV文件无有效数据,附对应实现代码

导出空CSV的核心问题根因

代码跑完没有任何有效数据落盘,是三个硬缺陷叠加导致的:

  • 链接采集环节从根源失效
    原代码拼接链接时硬截断url[:31]的逻辑本身就有设计漏洞,加上定位俱乐部链接的CSS选择器完全匹配不上当前页面结构,最终收集到的links列表长度为0,后续遍历详情页提取数据的循环根本不会执行,自然没有数据能写入CSV。
  • 字段提取选择器全量过期
    代码里写的.rn_nummer、td[itemprop="athlete"]、td.rechts.hauptlink等选择器,已经和Transfermarkt迭代后的页面结构不匹配,就算拿到有效链接,提取到的所有字段列表都是空值。
  • 数据维度错配导致DataFrame全空
    原有代码靠find_next("td")、find_all_next("td")[1]做偏移取数的逻辑经常错位,各字段提取出来的列表长度不一致,pandas拼接出来的DataFrame全是NaN,导出的CSV看起来就像没有任何有效数据。
针对性修正方向
  • 去掉无意义的URL硬截断逻辑,直接把站点根域名和采集到的相对路径拼接成完整可访问的链接,同时替换已经失效的链接选择器,每采集完一批链接就打印总数,确保链接列表不是0值。
  • 增加页面节点存在性判断:如果target = soup.find("table", class_="items")返回None,直接跳过当前链接,避免空对象调用属性抛出异常导致全流程中断。
  • 逐行校验每个字段提取出来的列表长度,保证所有列元素数一致后再做zip拼接,避免长度不匹配导致的全列空值。
  • 给请求环节加简单的重试逻辑,避免被站点临时反爬拦截拿到空响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 09:15:07