2014-09-23 2 views
0

У меня есть один проект Scrapy с несколькими пауками. Этот проект размещен на экземпляре scrapyd. Я хотел бы иметь возможность динамически изменять настройки в файле settings.py проектов (например, DOWNLOADER_MIDDLEWARES).Настройки динамической резки

Можно ли изменить эти параметры во время отправки запроса экземпляру scrapyd. Обратите внимание: я не хочу создавать несколько проектов, так как это приведет к дублированию общего кода для всех проектов.

Благодаря

ответ

1

Вы можете передать параметры scrapyd и изменять настройки, используя -d аргумента

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

Как о запуске Scrapy с другим файлом настроек, как Джанго позволяют нам? – sergiuz

+0

Спасибо, но как бы я установил настройку стиля словаря? Я попытался следующий 'локон HTTP: // локальный: 6800/schedule.json -d проект = GenericCrawl -d паук = Generic -d«настройка = ITEM_PIPELINES = { 'GenericCrawl.pipelines.DefaultValuesPipeline': 299 , 'GenericCrawl.pipelines.MySQL': 300} " ' , но я получаю следующую ошибку: '[Launcher, 4746/stderr] элемент последовательности обновления словаря # 0 имеет длину 1; 2 требуется' – trajan

+0

Я не пробовал, но то, что я бы, вероятно, сделал, это установить переменную, которая проверяется в каждом промежуточном программном обеспечении, а затем передать это на scrapyd. Не так элегантно, но это сработает. – dataisbeautiful

Смежные вопросы