2016-09-11 2 views
-2

Проблема: я пытаюсь проверить captcha может быть что угодно от 0000-9999, используя модуль нормальных запросов, для прохождения через все они (около 0000-9999) занимает около 45 минут. Как я могу многократно использовать это или ускорить его? Было бы очень полезно, если бы я смог получить код состояния HTTP с сайта, чтобы узнать, правильно ли я получил код или неверен (200 = правильный, 400 = неверный). Если бы я мог получить два примера (GET и POST) это было бы фантастически!Как я могу ускорить это? (urllib2, запросы)

Я искал в течение некоторого времени, большая часть модулей я смотрю на устарели (я использую grequests недавно)

example url = https://www.google.com/ 
example params = captcha=0001 
example post data = {"captcha":0001} 

Спасибо!

ответ

5

Вы действительно не должны пытаться обходить капчу программно!

Вы можете использовать несколько потоков для одновременных запросов, но на тот момент служба, которую вы атакуете, скорее всего запретит ваш IP-адрес. По крайней мере, они, вероятно, получили дросселирование на службе; Есть причина, по которой он должен занять 45 минут.

Threading in Python обычно достигается путем создания объекта потока с помощью метода run(), содержащего длинный код. В вашем случае вам может понадобиться создать объект потока, для которого требуется опрос диапазона номеров. После создания экземпляра вы вызовете метод .start(), чтобы этот поток начал работать. Если какой-либо поток должен получить сообщение об успешном завершении, он вернет сообщение в основной поток, остановится, и основной поток сможет затем передать все остальные потоки в пуле потоков для остановки.

+0

Хмм, если вы не возражаете, я могу понять, как многопоточно с обратным вызовом использовать два вышеперечисленных модуля, как в качестве ссылки на будущее? – niro

Смежные вопросы