Я нашел решение для запуска нескольких версий одного паука в этом посте .
Итак, я запускаю несколько версий одновременно с помощью нескольких команд 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