2017-09-11 3 views
1

나는 scrapy crawl 명령을 사용하여 시스템 인수를 전달하는 단일 Scrapy 스파이더를 보유하고 있습니다. 명령 줄 대신 CrawlerProcess를 사용하여이 스파이더를 실행하려고합니다. 이 크롤러 프로세스에 동일한 명령 줄 인수를 모두 전달하려면 어떻게해야합니까? scrapy crawl example -o data.jl -t jsonlines -s JOBDIR=/crawlstate시스템 명령 줄 인수를 Scrapy CrawlerProcess에 전달하는 방법?

from scrapy.crawler import CrawlerProcess 
from scrapy.utils.project import get_project_settings 
process = CrawlerProcess(get_project_settings()) 
process.crawl(#How do I Pass arguments like -o data.jl -t jsonlines -s 
JOBDIR=/crawlstate here?) 
process.start() 

답변

0

당신이 CrawlerProcess 생성자에 전달하기 전에 당신은 당신의 프로젝트 설정을 수정할 수 있습니다

... 
settings = get_project_settings() 
settings.set('FEED_URI', 'data.jl', priority='cmdline') 
settings.set('FEED_FORMAT', 'jsonlines', priority='cmdline') 
settings.set('JOBDIR', '/crawlstate', priority='cmdline') 
process = CrawlerProcess(settings) 
...