我尝试将lib requests
与代理参数一起使用,并将其与multiprocessing
平行
我使用下一个代码
proxies = {"http": "port",
"https": "port",
"http": "port"}
p = Pool(processes=16)
for _ in tqdm(p.imap_unordered(do_request, links), total=len(links)):
pass
函数do_request所在的位置
r = requests.get(link, proxies=proxies)
有时候我在使用函数开始时遇到错误
requests.exceptions.proxyerror: none: max retries exceeded with url
但是,如果我在字典中仅使用一个代理,那么稍后会收到此错误。
我尝试了解字典与代理如何工作。他们轮流使用吗?还是其他算法?
如何避免此错误?是否可以对Pool
中的每个进程使用不同的代理?