2015-04-20 3 views
1

Мой вариант использования: У меня есть 10 spiders, а установка AUTO_THROTTLE_ENABLED установлена ​​на True, глобально. Проблема заключается в том, что для одного из spiders среды выполнения БЕЗ auto-throttling составляет 4 дня, но во время выполнения с автоматическим дросселирования 40 дней ...Как настроить Scrapy Auto_Throttle Настройки

Я хотел бы найти баланс и сделать паук бежать в течение 15 дней (3x первоначальная сумма). Сегодня утром я читал документацию scrapy, но все это немного смутило меня. Может ли кто-нибудь сказать мне, как поддерживать auto-throttle включенным в глобальном масштабе и просто отклонять количество, до которого он дросселируется?

ответ

0

DOWNLOAD_DELAY = some_number, где some_number - это задержка (в секундах), которую вы хотите получить за каждый запрос, и RANDOMIZE_DOWNLOAD_DELAY = False, поэтому она может быть статичной.

0

Auto_throttle специально разработан так, что вы не вручную настраиваете DOWNLOAD_DELAY. Установка DOWNLOAD_DELAY на некоторое число установит нижнюю границу, что означает, что ваш AUTO_THROTTLE не будет работать быстрее, чем число, установленное в DOWNLOAD_DELAY. Так как это не то, что вам нужно, лучше всего установить AUTO_THROTTLE всем паукам, кроме тех, которые вы хотите ускорить, и вручную установите DOWNLOAD_DELAY только для одного паука без AUTO_THROTTLE для достижения любой эффективности, которую вы желаете.

0

из AutoThrottle extension здесь просто добавить:

DOWNLOAD_DELAY = 1.5 
AUTOTHROTTLE_ENABLED = True 
AUTOTHROTTLE_START_DELAY = 2 
AUTOTHROTTLE_TARGET_CONCURRENCY = 6 
.... 

все, что вы хотите в settings.py

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