3种常见的方法

1. 在settings中配置禁用cookies
1 COOKIES_ENABLED = False

2. scrapy限速处理,scrapy为我们提供了扩展模块,它能动态的限制下载速度
# http://scrapy-chs.readthedocs.io/zh_CN/latest/topics/autothrottle.html

# 在settings中配置的参数

AUTOTHROTTLE_ENABLED = True  # 启用AutoThrottle扩展

AUTOTHROTTLE_START_DELAY = 5.0  # 初始下载延迟(单位:秒)

AUTOTHROTTLE_MAX_DELAY = 60.0  # 在高延迟情况下最大的下载延迟(单位秒)

AUTOTHROTTLE_DEBUG = True  # 起用AutoThrottle调试(debug)模式,展示每个接收到的response。 您可以通过此来查看限速参数是如何实时被调整的

 

3. 在不同的spider中,配置不同的settings参数
# 例如有些网站不需要cookie,有些网站必须使用cookie

# 在我们的spider类中,配置我们的类变量custom_settings = {}

class TestSpider(scrapy.Spider):
    
    custom_settings = {
        "COOKIES_ENABLED": True,
        "AUTOTHROTTLE_ENABLED": True,
    }