Что нового

Изъятие капчи (не из <img> ) и последующие её сохранение

bazanski

Новичок
Сообщения
9
Репутация
0
Доброго времени суток, пишу поискового робота, но столкнулся с проблемой сохранения капчи. Раньше я работал с ними но они были в таком виде:
Код:
<img class="capchaimg" style="height: 25px;" title="Введите код, указанный на картинке" src="/images/def.php" alt="Необходимо включить загрузку картинок в браузере">
и капча вытаскивалась спокойно, но в этот раз наткнулся на такую кончтрукцию:
Код:
<div id="captcha_div" style="background-image: url([b]http://egrul.nalog.ru/?r=captcha&amp;h=3a4076e9d999036a67749de11dc2[/b]);"> <label id="captcha_label" for="captcha_input">Введите код</label> <input id="captcha_input" type="text" name="captcha" title="Введите код, указанный на картинке" autocomplete="off"> </div>
Как видно из кода капча генерируется в css. я узнал что если взять ссылку из тега
Код:
style="background-image: url([b]http://egrul.nalog.ru/?r=captcha&amp;h=3a4076e9d999036a67749de11dc2[/b]);
то при переходе по ней всегда будет показываться одна и та же капча (меняться будет только вид цифр)
Прошу помощи в вытаскивании этой капчи и сохранении её в .gif файле.
 

sunbeam_2001

Новичок
Сообщения
11
Репутация
1
Предлагаю рассмотреть вариант не с сохранением файла-картинки, которую формирует сервер, а со "скриншотом".

Как вариант функция _ScreenCapture_CaptureWnd, которая позволяет сохранить в файл фрагмент экрана, зная координаты прямоугольника.

В Вашем случае:

Код:
$oCaptcha = _IEGetObjById($oIE, "captcha_div")
$nCapX = _IEPropertyGet($oCaptcha, "screenx")
$nCapY = _IEPropertyGet($oCaptcha, "screeny")
$nCapW = _IEPropertyGet($oCaptcha, "width")
$nCapH = _IEPropertyGet($oCaptcha, "height")


А также очень рекомендую эту тему: http://autoit-script.ru/index.php/topic,3943.0.html , особенно ответы № 7 и № 15. Делал по аналогии. Описанные тут способы даже не требуют, чтобы капча была визуально видна на экране.
 
Верх