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

Scrapy仅采集目标网页75%:如何提升采集完整性?

Scrapy采集G-Cloud数据缺失问题解答

问题1:修改AUTOTHROTTLE设置能否提升采集量?

这得看数据缺失的具体原因:

  • 如果缺失是因为请求频率触发了网站反爬(比如部分请求被拦截、返回空白页或403错误),调整这两个参数可能有用:
    • 当前AUTOTHROTTLE_START_DELAY=0.5可能偏低,短时间内请求太密集容易被限制,试着调大到2-3,降低被反爬拦截的概率;
    • AUTOTHROTTLE_MAX_DELAY=60过高的话,后续请求延迟太长,可能会因为网站会话过期或超时导致请求失败,可以适当降到20-30,同时配合调整CONCURRENT_REQUESTS这类并发参数。
  • 如果缺失是分页逻辑、页面加载异常等其他原因,光改这两个参数解决不了问题。

问题2:可能导致采集量偏低的其他因素

  • 分页逻辑暗藏问题:
    你觉得分页函数正常,但新网站的分页按钮可能有特殊情况:比如部分页面的next_page XPath匹配失效(比如最后几页的按钮class变了、藏在动态加载内容里),导致爬取提前终止;还有可能部分汇总页实际产品数量不足30个,按每页30算总数量自然会有差距。
  • 反爬机制拦截:
    桌面IP连续爬15小时,很大概率会被网站限制IP,导致后面的页面请求失败,拿不到产品链接;新网站可能加了UA检测、Cookie验证或者JS渲染要求,你的Scrapy请求没模拟浏览器环境,部分页面返回不了有效数据。
  • 请求失败没重试:
    如果DOWNLOAD_TIMEOUT设得太短,或者RETRY_TIMES、RETRY_HTTP_CODES没覆盖500、503、403这类常见错误码,部分失败的请求直接被丢了,没重新发起请求补数据。
  • 页面内容加载异常:
    新网站的汇总页可能用了滚动加载这类动态加载方式,你的Xpath只抓了初始加载的链接,后面加载的产品没被采集;还有部分产品链接的位置或嵌套结构变了,你的Xpath没匹配到,导致漏抓。
  • 爬取过程意外中断:
    桌面运行15小时,中间可能遇到网络波动、程序崩溃、电脑休眠之类的情况,导致爬取没跑完,但你没注意到中断记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:50:40