问题:我正在尝试验证验证码可以是0000-9999中的任何内容,使用正常的请求模块需要大约45分钟来完成所有这些(0000-9999)。我怎样才能多线程或加速它?如果我能从站点获取HTTP状态代码以查看我是否成功获得了正确的代码或者它是否正确(200 =正确,400 =不正确)如果我可以获得两个示例(GET和POST),那将非常有用这太棒了!
我一直在搜索,我看过的大多数模块已经过时了(我最近一直在使用grequests)
example url = https://www.google.com/
example params = captcha=0001
example post data = {"captcha":0001}
谢谢!
答案 0 :(得分:5)
你真的不应该试图以编程方式绕过验证码!
您可以使用多个线程同时发出请求,但此时您攻击的服务很可能会禁止您的IP。至少,他们可能会对服务进行限制;这是因为它应该花费45分钟。
Threading in Python通常是通过创建一个包含长期运行代码的run()
方法的线程对象来实现的。在您的情况下,您可能希望创建一个线程对象,该对象需要一个数字范围来轮询。实例化后,您可以调用.start()
方法让该线程开始工作。如果任何线程应该获得成功消息,它将向主线程返回一条消息,自行停止,然后主线程可以告诉线程池中的所有其他线程停止。