Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scrapy crawlera是否处理429状态代码?_Python_Web Scraping_Scrapy_Crawlera - Fatal编程技术网

Python 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 +

想知道是否有人知道在使用scrapy时scrapy crawlera中间件是否处理429状态代码,或者我是否需要实现自己的重试逻辑


我似乎在任何地方都找不到它的文档

您可以通过以下方式扩展重试代码列表:

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)