有没有可能在Scrapy中创建一个代理故障转移,这样当一个失败时,另一个将接管其余请求的抓取?我本以为可以使用重试中间件来完成,但我真的不知道如何创建。我在网上找到了一些例子,但是没有一个使用两个API SDK代理。从我所做的研究来看,我认为可以使用重试中间件,但是我不认为我很明白如何做。仅供参考-我使用的代理是Zyte代理管理器和Scrapeops.io
ffscu2ro1#
这就是中间件。您的请求-〉重试中间件-〉自定义标头中间件-〉服务器因此,当您发出请求时,它应该在发送到服务器之前通过所有中间件。然而,他们可以为所欲为;例如,RETRYMIDDLEWARE可以显式地返回并且不将请求传递到下一个中间件。因此,您需要编写自己的中间件,以便在代理失败时更改代理。
1条答案
按热度按时间ffscu2ro1#
这就是中间件。
您的请求-〉重试中间件-〉自定义标头中间件-〉服务器
因此,当您发出请求时,它应该在发送到服务器之前通过所有中间件。
然而,他们可以为所欲为;例如,RETRYMIDDLEWARE可以显式地返回并且不将请求传递到下一个中间件。
因此,您需要编写自己的中间件,以便在代理失败时更改代理。