2014-09-23 3 views
0

여러 개의 거미가있는 단일 치료 프로젝트가 있습니다. 이 프로젝트는 scrapyd 인스턴스에서 호스팅됩니다. 프로젝트 settings.py 파일에서 DOWNLOADER_MIDDLEWARES와 같은 설정을 동적으로 변경할 수 있어야합니다.동적 치료 설정

scrapyd 인스턴스에 요청을 보낼 때이 설정을 변경할 수 있습니까? 여러 프로젝트를 만들지는 않으므로 프로젝트간에 공통 코드가 중복 될 수 있습니다.

감사

답변

1

당신은 어떻게 우리를 허용 장고처럼, 다른 설정 파일을 scrapy을 시작 대한 -d 인수

curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1 
+0

를 사용 scrapyd하는 매개 변수와 설정 변경을 전달할 수 있습니다? – sergiuz

+0

감사합니다. 그러나 사전 스타일 설정을 어떻게 설정합니까? 다음을 시도했습니다. curl http : // localhost : 6800/schedule.json -d 프로젝트 = GenericCrawl -d 스파이더 = 일반 -d "설정 = ITEM_PIPELINES = { 'GenericCrawl.pipelines.DefaultValuesPipeline': 299 , 'GenericCrawl.pipelines.MySQL': 300} " 하지만 다음 오류가 발생합니다. '[Launcher, 4746/stderr] 사전 업데이트 시퀀스 요소 # 0의 길이는 1입니다. 2가 필요합니다' – trajan

+0

나는 시도하지 않았지만 아마도 내가 할 일은 각 미들웨어에서 검사 된 변수를 설정 한 다음 그 변수를 scrapyd로 전달하는 것입니다. 우아하지는 않지만 효과가있을 것입니다. – dataisbeautiful