2013-07-15 2 views
2

Я хочу получить текущую капчу, которая отображается на веб-сайте. Примером этого может быть http://top100arena.com/in.asp?id=58978Получить изображение для сеанса captcha

Как получить ссылку на изображение отпечатка, которая отображается иначе, чем щелчок правой кнопкой мыши -> открыть изображение на новой странице?

+0

Если вы хотите сделать это на Java, вам придется проанализировать страницу и придумать какую-либо эвристику для определения того, проанализировали ли вы изображение в кавычках или просто обычное изображение. – CodeBlind

+0

Проблема с разбором страницы, что вы получите это: http://www.google.com/recaptcha/api/challenge?k=6LeyFroSAAAAAJTmR7CLZ5an7pcsS5eJ3wEoWHhJ Каких изменений вызова каждый раз, когда вы открываете его, так что вы Wouldn» t получить такую ​​же проблему на странице. Ключ вызова - вот что отображает изображение здесь: http://www.google.com/recaptcha/api/image?c=#challengekey – Tyluur

+0

как вы хотите, чтобы это было сделано? Вы хотите, чтобы ваша java-программа работала в фоновом режиме, и всякий раз, когда вы открываете сайт в своем браузере с капчей, программа скопирует URL-адрес в журнал или базу данных или что вы хотите? –

ответ

1

Вы ищете DIV идентифицированной "rechapta_image": enter image description here

Затем извлечь атрибут IMG элемент внутри этого DIV src.

Для этого вы можете выбрать простой способ, основанный на строках, или использовать библиотеку разбора HTML, такую ​​как JSoup.

Вот пример такого экстракта URL:

http://www.google.com/recaptcha/api/image?c=03AHJ_VutGj3wvhGoQGxu6FUnG3uOWJdyB2RpSb2N5v9AQJyakMy1kKMPeDoRfADhjAj5rLqekuOzXe3cRChnA_sEN7PL68em4pI_kE3wFKUhhkqFF9jQzKJerX__InwD_DB0Ox1mKQmZVRl97yuSL62tZhYyhSqtuIta-3n0KvytB9QqSn8nXgw8


На самом деле, кажется, что коробка chapta является IFrame. Итак, найдите iframe с строкой src, содержащей «chapta». Пример такого фрейма:

<iframe src="http://www.google.com/recaptcha/api/noscriptk=6LeyFroSAAAAAJTmR7CLZ5an7pcsS5eJ3wEoWHhJ" 
    height="300" width="500" frameborder="0"></iframe><br/> 

Итак, как только вы извлекли, что URL-адрес, используйте JSoup еще раз, чтобы найти URL к изображению. Страница неправдоподобным имеет часть этого:

enter image description here

Итак, обратите внимание на центр элемента, и получить элемент IMG из него.

+0

Как вы это узнаете? Это не в исходном коде страницы. – Tyluur

+0

В Google Chrome щелкните правой кнопкой мыши и нажмите «Осмотреть элемент». Аналогичная функция доступна и в Safari и Firefox. Я думаю, что вы должны включить инструменты разработчика в настройках Safari, если вы используете Safari. –

+0

Как получить доступ к этому коду в java? – Tyluur

0

Попробуйте использовать Firebug в firefox https://addons.mozilla.org/es/firefox/addon/firebug/, его прост в использовании, и в Красной секции вы найдете ярлык с именем Image, вы найдете здесь изображение.