How to set different scrapy-settings for different spiders?

前端 未结 5 1657
逝去的感伤
逝去的感伤 2020-12-05 14:48

I want to enable some http-proxy for some spiders, and disable them for other spiders.

Can I do something like this?

# settings.py
proxy_spiders = [         


        
5条回答
  •  再見小時候
    2020-12-05 15:20

    a bit late, but since release 1.0.0 there is a new feature in scrapy where you can override settings per spider like this:

    class MySpider(scrapy.Spider):
        name = "my_spider"
        custom_settings = {"HTTP_PROXY":'http://127.0.0.1:8123',
                           "DOWNLOADER_MIDDLEWARES": {'myproject.middlewares.RandomUserAgentMiddleware': 400,
                                                      'myproject.middlewares.ProxyMiddleware': 410,
                                                      'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None}}
    
    
    
    
    class MySpider2(scrapy.Spider):
            name = "my_spider2"
            custom_settings = {"DOWNLOADER_MIDDLEWARES": {'myproject.middlewares.RandomUserAgentMiddleware': 400,
                                                          'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None}}
    

提交回复
热议问题