Есть ли способ сохранить изображение капчи и просмотреть его позже в python? - PullRequest
0 голосов
/ 02 сентября 2010

Я пишу скрипты на python для некоторой веб-автоматизации. Я знаю, что не могу автоматизировать капчу, но вот что я хочу сделать:

Я хочу автоматизировать все, что могу, вплоть до капчи. Когда я открываю страницу (используя urllib2) и анализирую ее, чтобы найти, что она содержит капчу, я хочу открыть капчу, используя Tkinter. Теперь я знаю, что сначала мне нужно сохранить образ на жесткий диск, а затем открыть его, но перед этим есть проблема. Изображение с картинки, которое находится на экране, нигде не находится непосредственно в источнике. В исходном коде есть переменная внутри некоторого javascript, которая указывает на другую страницу, имеющую ссылку на изображение, НО, если вы загрузите эту среднюю страницу, изображение капчи для этой ссылки изменится, поэтому изображение, связанное с этой переменной javascript, будет больше не действительны. Может быть невозможно собрать изображение, используя этот метод, поэтому, пожалуйста, просветите меня, если у вас есть какие-либо идеи по этому поводу.

Теперь, если я использую firebug для загрузки страницы, есть «GET», который является прямой ссылкой на текущее изображение Captcha, которое я вижу, и мне интересно, есть ли способ заставить Python или ullib2 увидеть «ПОЛУЧИТЕ», которые происходят, когда страница загружена, потому что, если бы это было возможно, это было бы просто.

Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения.

1 Ответ

2 голосов
/ 02 сентября 2010

Конечно, капча обслуживается страницей, которая будет каждый раз показывать новую (если она повторялась, то после того, как она была решена для одного поддельного идентификатора пользователя, спамер мог автоматически заработать миллион!). Я думаю, что вам нужны некоторые функции «скриншота» для захвата нужного вам изображения - нет кросс-платформенного способа вызова такой функции, но каждая платформа (или менеджер рабочего стола в случае Linux, BSD и т. Д.) Имеет тенденцию иметь один , Или вы могли бы автоматизировать браузер (например, с помощью SeleniumRC), чтобы "делать снимки экрана" (например, "печатать в PDF") в нужное время. (Я полагаю, что то, что вы видите в firebug, может ввести вас в заблуждение, потому что "показывает снимок" ... только на уровне исходного кода html или DOM, а не на уровне экрана / растрового изображения).

...