Scrapy Crawler Process Setting - PullRequest
       7

Scrapy Crawler Process Setting

0 голосов
/ 12 декабря 2018

Я создал несколько сканеров и хочу запустить их одновременно, используя CrawlerProcess.Однако при создании пауков я настроил их так, чтобы они работали немного медленнее и имели задержку загрузки.При индивидуальном запуске пауков настройки работают нормально, но когда я запускаю всех четырех пауков, он ползает очень быстро, и несколько сайтов выгоняют меня из сети.Я хотел бы знать, почему CrawlerProcess не следит за настройками, и если есть способ добиться этого, как мне этого добиться.

Вот как у меня это настроено:

TMP_FILE = os.path.join(os.path.dirname(sys.modules['items'].__file__), 'tmp/items.csv')

process = CrawlerProcess({
'FEED_FORMAT': 'csv',
'FEED_URI': TMP_FILE,
})
process.crawl(Spider1)
process.crawl(Spider2)
process.crawl(Spider3)
process.crawl(Spider4)
process.start()

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

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

Конечно, все пауки используют одинаковые настройки, но это единственное соединение.

Сайт долженжаловаться на выполнение нескольких запросов, возможно, по одному и тому же источнику прокси / IP, поэтому я бы порекомендовал использовать службу итератора прокси или еще больше замедлить пауков.

Вы можете игратьсо следующими настройками:

0 голосов
/ 12 декабря 2018

Исправлена ​​проблема с добавлением пользовательских настроек для каждого из моих пауков.Вы можете добавить это прямо под списком стартовых URL.

start_urls =['www.example.com']

custom_settings = {
    'DOWNLOAD_DELAY': 8,
    'CONCURRENT_REQUESTS': 1,
    'AUTOTHROTTLE_ENABLED': True,
    'AUTOTHROTTLE_START_DELAY': 5,

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