我使用Celery任务(+ python请求和PhantomJs)异步爬网许多网站我使用crawlera作为代理但我的帐户有100个并发请求的限制。
我想知道如何做到这一点的最好方法。我知道我可以使用Redis(或其他东西)作为信号量,并在gets()在随机秒数后失败时重新触发任务,但我认为这种方法并不好。
答案 0 :(得分:0)
是什么让你认为这种方法不好? 它可能会或可能不会对您的情况有益 - 它完全取决于您的实施细节和您的环境。
另一种方法是限制任何1名工作人员可以同时进行的连接数量,并限制工作人员/任务的数量,以使连接总数不超过100.