Python scrapy crawlera是否处理429状态代码?
想知道是否有人知道在使用scrapy时scrapy crawlera中间件是否处理429状态代码,或者我是否需要实现自己的重试逻辑Python scrapy crawlera是否处理429状态代码?,python,web-scraping,scrapy,crawlera,Python,Web Scraping,Scrapy,Crawlera,想知道是否有人知道在使用scrapy时scrapy crawlera中间件是否处理429状态代码,或者我是否需要实现自己的重试逻辑 我似乎在任何地方都找不到它的文档您可以通过以下方式扩展重试代码列表: from scrapy.settings.default_settings import RETRY_HTTP_CODES (请查看此处的文档:) 然后在你身上,蜘蛛: custom_settings = { 'RETRY_HTTP_CODES': RETRY_HTTP_CODES +
我似乎在任何地方都找不到它的文档您可以通过以下方式扩展重试代码列表:
from scrapy.settings.default_settings import RETRY_HTTP_CODES
(请查看此处的文档:)
然后在你身上,蜘蛛:
custom_settings = {
'RETRY_HTTP_CODES': RETRY_HTTP_CODES + [429],
}
回答您的问题:NO,中间件不处理
429
状态,实际上它不“处理”任何状态,它只处理Crawlera和Scrapy之间的通信
现在,大约,默认情况下,他们会处理状态429
,这意味着当他们获得429
响应状态时,他们会将其标记为禁止,然后重试相同的请求
如果Crawlera在几次重试后没有成功,它将向客户端返回503
状态(在本例中为Scrapy)