2014-10-12 4 views
0

파일이있는 경우에만 특정 설정 및 download_middlewares (프록시)를 적용하고 싶습니다. 스파이더는 프록시 목록이있는 .txt가있는 경우에만 프록시로 실행해야합니다. 그렇지 않으면 프록시없이 실행하고 기본 IP 및 포트로 실행해야합니다.Scrapy : 조건 설정 설정

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 = { 

    } 

어떤 해결 방법이 거기에 있습니다 :

은 내가하지만 나를 위해 작동하지 않는 다음을 시도했습니다?

감사합니다.

답변

0

목록에있는 코드는 다음과 같아야합니다. 다른 코드 스 니펫에 오류가 있습니까?

+0

네가 맞아! 문제는 거기에서 오지 않았다. 감사! – pylund