Вы можете расширить AutoThrottle
промежуточное ПО, отвечающее за управление задержками, с помощью собственной политики:
# extensions.py
from scrapy.extensions.throttle import AutoThrottle
class ZombieThrottle(AutoThrottle):
"""start throttling when web page dies"""
def _adjust_delay(self, slot, latency, response):
"""Define delay adjustment policy"""
if response.status == 500:
slot.delay = 60 # 1 minute
И включите его вместо значения по умолчанию в вашем settings.py
:
# settings.py
EXTENSIONS = {
'scrapy.extensions.throttle.AutoThrottle': None,
'myspider.extensions.ZombieThrottle': 0,
}