Как быстрее запустить несколько версий одного паука одновременно с помощью Scrapy? - PullRequest
0 голосов
/ 04 ноября 2018

Я нашел решение для запуска нескольких версий одного паука в этом посте .

Итак, я запускаю несколько версий одновременно с помощью нескольких команд Windows:

scrapy crawl spider -a lo_lim=2005 -a up_lim=2007 ...
scrapy crawl spider -a lo_lim=2007 -a up_lim=2009  ...
scrapy crawl spider -a lo_lim=2009 -a up_lim=2011  ...

Я использовал 7 версий за один раз.

Моя проблема в том, что когда я запускаю много таких пауков, я вижу своими глазами, что процесс стал настолько медленным. И это также видно в журнале с 'finish_time' и 'start_time'. На каждую команду уходит около 1 часа, если я использую две версии одновременно. Для каждой команды требуется более семи часов, а то и больше, если я использую семь версий одновременно.

В settings.py я написал

CONCURRENT_REQUESTS = 128
DOWNLOAD_DELAY = 0.25 
CONCURRENT_REQUESTS_PER_IP=64 
AUTOTHROTTLE_ENABLED = False

Я уверен, что этого недостаточно, потому что я вижу результаты, но ошибаюсь ли я, что эти конфигурации являются способами увеличения скорости? И как мне сделать так, чтобы ползание было быстрее?

PS: я использую Tor с Vidalia и Polipo в качестве прокси. Так что я знаю, что моя связь не может быть очень быстрой, это минусы анонимности. Но настоящая проблема заключается в том, что я запускаю несколько одновременно. И мой процессор далеко от максимальной мощности.

Версия Scrapy: 1.5.0, версия Python: 2.7.9

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...