我的问题是我如何才能将itertools.cycle与多处理结合使用,从而使最终结果允许我遍历电子邮件,密码列表等“帐户”文件,并为我的每个请求提供新的代理make(在使用multiprocessing.map创建的每个进程中)。这有点难以解释,所以我提供了当前代码来帮助说明我的问题。在每个分配的进程(进程= 10)中,电子邮件组合对于每个发布请求都会更改,但是代理会每10个请求更改一次。我希望每个请求都完全独特。我的问题似乎是我依赖于创建的每个进程来使用next()函数切换代理。结果如下。预先感谢!
def main(account):
proxy_switch = next(proxy_pool)
proxy = {"http": proxy_switch}
requests.post(url, proxies=proxy)
accounts=open('file.txt').readlines()
proxy_file=open('proxies.txt').readlines()
proxy_pool = cycle(proxy_file)
if __name__ == "__main__":
p = Pool(processes=10)
p.map(main, accounts)
抱歉,无法粘贴完整结果。基本上,它给: proxy1:creds1 proxy1:creds2 proxy1:creds3 proxy2:creds4 proxy2:creds5 proxy2:creds6
取决于池的大小。谢谢!