Scrapy:设置条件settings.py

时间:2014-10-12 10:13:23

标签: python scrapy settings conditional

我希望仅在文件存在时才应用特定设置和download_middlewares(代理)。只有当具有代理列表的.txt存在时,蜘蛛应该使用代理运行,否则,它应该在没有代理的情况下运行,使用默认的IP和端口。

我已尝试过以下操作,但它对我不起作用:

settings.py

import os.path

if os.path.isfile("../proxies.txt"):

     BOT_NAME = 'whatever'
     SPIDER_MODULES = ['whatever.spiders']
     NEWSPIDER_MODULE = 'whatever.spiders'
     RETRY_ENABLED = False
     REDIRECT_ENABLED = False
     DOWNLOAD_TIMEOUT = 15
     COOKIES_ENABLED = False
     LOG_ENABLED = True

    DOWNLOADER_MIDDLEWARES = {
    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 110,
    'whatever.middlewares.ProxyMiddleware': 100
    }

else:
   BOT_NAME = 'whatever'
   SPIDER_MODULES = ['whatever.spiders']
   NEWSPIDER_MODULE = 'whatever.spiders'

   DOWNLOADER_MIDDLEWARES = {

    }

有没有解决方法呢?

谢谢你们!

1 个答案:

答案 0 :(得分:0)

您列出的代码应该。其他代码段中是否有任何错误?

相关问题