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

Scrapy爬取Walmart搜索页遇robots.txt拦截问题求助

解决Scrapy爬取Walmart搜索页的robots.txt禁止及scrapy-fake-useragent警告问题

一、处理"Forbidden by robots.txt"问题

你已设置ROBOTSTXT_OBEY=False但仍触发该提示,按以下步骤排查修复:

  • 修正配置拼写错误:你的爬虫代码中"AUTOTHROTTLE_START_DELAY "末尾多了一个空格,这会导致该配置项失效,甚至干扰其他配置的加载。修改为:
    "AUTOTHROTTLE_START_DELAY": 2,
    
  • 检查全局配置冲突:查看项目根目录的settings.py文件,确认其中的ROBOTSTXT_OBEY未被设置为True——全局配置优先级高于爬虫的custom_settings,若两者冲突会以全局为准。
  • 验证配置加载状态:可以在parse方法中添加打印语句,确认配置是否生效:
    def parse(self, response):
        print("ROBOTSTXT_OBEY:", self.settings.get('ROBOTSTXT_OBEY'))
        pass
    

二、处理scrapy-fake-useragent的废弃警告

该警告源于中间件使用了Scrapy已废弃的RetryMiddleware.EXCEPTIONS_TO_RETRY属性,解决方式如下:

  • 升级依赖包:执行命令更新到适配Scrapy新版本的scrapy-fake-useragent:
    pip install --upgrade scrapy-fake-useragent
    
  • 手动配置替代项:若不想升级,可在custom_settings中添加RETRY_EXCEPTIONS配置,覆盖废弃属性的功能:
    import scrapy
    # ... 其他代码 ...
    custom_settings = {
        # ... 已有配置 ...
        "RETRY_EXCEPTIONS": (scrapy.exceptions.IgnoreRequest, scrapy.exceptions.CloseSpider, scrapy.exceptions.NotConfigured),
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 05:40:03