Python 使用多个代理限制请求

Python 使用多个代理限制请求,python,proxy,web-scraping,scrapy,throttling,Python,Proxy,Web Scraping,Scrapy,Throttling,我目前正在通过自定义中间件为请求分配随机代理。我想将下载限制设置为请求正在使用的特定代理的密钥,但据我所知,这仅在绑定到域或IP时才可能实现。我担心在代理中间件中实现池逻辑会导致线程安全问题。以前有人这样做过吗?任何指针都将受到欢迎。,有一个特殊的请求元变量,称为下载\u slot——这允许对请求进行编程分组/限制 在我的自定义代理中间件中: self.proxies = get_proxies() #list of proxies proxy_address = random.choice(s

我目前正在通过自定义中间件为请求分配随机代理。我想将下载限制设置为请求正在使用的特定代理的密钥,但据我所知,这仅在绑定到域或IP时才可能实现。我担心在代理中间件中实现池逻辑会导致线程安全问题。以前有人这样做过吗?任何指针都将受到欢迎。

,有一个特殊的请求元变量,称为
下载\u slot
——这允许对请求进行编程分组/限制

在我的自定义代理中间件中:

self.proxies = get_proxies() #list of proxies
proxy_address = random.choice(self.proxies)
request.meta['proxy'] = proxy_address
request.meta['download_slot'] = hash(proxy_address) % MAX_CONCURRENT_REQUESTS

我使用哈希函数作为一种廉价的方法,通过外部定义的请求限制来阻止请求。

我不确定是否完全遵循此解决方案,您是否介意共享您的自定义代理中间件代码?