Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Аналог функции "Сохранить как->Веб-страница, полностью"

34K
21 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Собственно нужен аналог данной функции, которая есть в каждом браузере, на Delphi
Страницы:
14
21 сентября 2009 года
Phodopus
3.3K / / 19.06.2008
Кидаешь на форму TMainMenu, TSaveDialog, делаешь меню Файл, Сохранить как, в фильтре TSaveDialog прописываешь "Веб-страница, полностью"
34K
21 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
во-первых много лишнего всякие меню прочее, во-вторых мне не нужен диалог, мне надо чтобы программа сама сохраняла в определенную папку всё, да и от того что я в SaveDialog'е напишу "Веб-страница, полностью" процедура сохранения этой "веб-страницы, полностью" не напишется
92
21 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006
http://delphi.about.com/od/internetintranet/a/get_file_net.htm так сохраняется любой файл по http/ftp (но можно и компоненты пользовать, например TIdHTTP)

дальше дело за разбором страницы на тему доп. файлов (картинки, скрипты и пр.) и подмены в результирующем файле путей.
34K
21 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
К сожалению это не то, это обычая функцуия которая может скачать файл по ссылке и не более того.
а мне нужно совсем другое.
мне нужно доставать каптчу с сервиса reCAPTCHA.net
на сайте использующем данный сервис в исходнике страницы видно только
 
Код:
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=код_сайта"></script>
 
    <noscript>
        <iframe src="http://api.recaptcha.net/noscript?k=код_сайта" height="300" width="500" frameborder="0"></iframe><br/>
        <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
        <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
    </noscript>
92
21 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006
ну, к сожалению, распознавание капчи вам врядли подскажут как сделать ) и всего лишь :)
34K
21 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
а Вы в моём посте где нашли слово "распознование"?
мне всего лишь надо вытянуть саму картинку...
совсем никто не читает что требуется...
6
21 сентября 2009 года
George
4.1K / / 05.01.2007
я так смотрю как называлась тема, и о чем речь сейчас и немного в ступоре...
34K
21 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
ну это он чо-то не туда повёл...
меня интересует полное сохранение страницы со всеми её элементами, либо достование ссылки на каптчу, если это возможно
6
21 сентября 2009 года
George
4.1K / / 05.01.2007
ну смотри. про полное сохранение страницы тебе правильно сказал Тень Пса. через тот же IdHttp принимаешь весь исходный код страницы и сохраняешь. Причем из исходного кода находишь пути к CSS, картинкам и прочей лабуде и скачиваешь их, и пути заменяешь. Что тут непонятного?
а при чем тут рекапча я не понял. может из всей страницы нужна только она? тогда и вопрос надо было ставить иначе. найди в исходном коде строку
 
Код:
<iframe src="http://api.recaptcha.net/noscript?k=код_сайта" height="300" width="500" frameborder="0"></iframe>
и от нее пляши. тут еще нужно знать как iframe'ы работают, как из них код достать. но немного шаманства, смекалки и гугла тебе в помощь.
34K
21 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Цитата: Washington
ну смотри. про полное сохранение страницы тебе правильно сказал Тень Пса. через тот же IdHttp принимаешь весь исходный код страницы и сохраняешь. Причем из исходного кода находишь пути к CSS, картинкам и прочей лабуде и скачиваешь их, и пути заменяешь. Что тут непонятного?
а при чем тут рекапча я не понял. может из всей страницы нужна только она? тогда и вопрос надо было ставить иначе. найди в исходном коде строку
 
Код:
<iframe src="http://api.recaptcha.net/noscript?k=код_сайта" height="300" width="500" frameborder="0"></iframe>
и от нее пляши. тут еще нужно знать как iframe'ы работают, как из них код достать. но немного шаманства, смекалки и гугла тебе в помощь.



к сожалению опять же не всё так просто... эта строка не поможет по данной ссылке находится динамическая страница, которая при каждом обновлении меняется
я провёл эксперимент и попробовал сохранить страницу, на которой находится reCAPTCHA, через браузер способом описанном в заголовке темы, и обнаружил что картинка каптчи лежала в папке сайт_files под названием image без расширения.
поэтому мне требуется исходный код аналогичной процедуры

92
22 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006
поискать по форуму, было уже обсуждение срывания картинки капчи (через интерфейс к браузеру) )
только на С++, да это и не имеет значения.

PS: всё как раз очень просто ) не нужно всё драматизировать :)
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
C++ мне не подходит так как остальная часть программы на Delphi. может кто подскажет готовый вариант?
92
22 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006
ну ясн ) т.е. сами реализовывать вы не хотите.

Удачи в поисках!
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Цитата: Тень Пса
ну ясн ) т.е. сами реализовывать вы не хотите.

Удачи в поисках!



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

6
22 сентября 2009 года
George
4.1K / / 05.01.2007
чувак, ну ты че? тебе же пытаются помочь. Чтобы понять принцип, как выдрать капчу тебе предложено поискать на форуме - уже обсуждалось. После того, как ты почитаешь ту тему и поймешь, как это делать, попытайся реализовать на дельфи. если возникнут проблемы - можешь писать сюда.
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
я искал... ничего подобного не нашёл
6
22 сентября 2009 года
George
4.1K / / 05.01.2007
http://forum.codenet.ru/showthread.php?t=51232
92
22 сентября 2009 года
Тень Пса
2.2K / / 19.10.2006


да забей, Washington, очередной типа единственный мыслящий логически чел :) с вопросами "я бы наверное не спрашивал, не так ли?" ) и невнятными вопросами (+к тому, не сказавший что он вообще не в курсе как это делается).

к нему лицом, а он задрав нос :)

34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
всё что там есть - всё на PHP, в котором я ноль
536
22 сентября 2009 года
alex-kniaz
382 / / 07.08.2008
И даже примерный смысл не ловите?
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
сказать по правде не особо...
может если Вы все такие умные то в чем проблема просто помочь? а не говорить сплошными намёками.
хотя на самом деле что-то посты уже далеко ушли от темы.
может кто-то всё таки знает ответ на начальный вопрос?
вот смотрите ситуация такая - описываю по шагам:
1 Открываем в любом браузере например codenet.ru
2 Нажимаем Ctrl+S
3 Выбираем "Веб-страница, полностью"
Страница сохранилась, а рядом с ней лежит папка ЗаголовокСтраницы_files.
Вот собственно мне нужен один файлик из этой папки.
Как мне реализовать такое сохранение страницы в Delphi?
6
22 сентября 2009 года
George
4.1K / / 05.01.2007
не городи огород. если тебе нужна капча то тебе нужна капча. если тебе нужна вся страница - то это совсем другая задача.
и ты вообще тему по ссылке читал? неужели непонятно, как достать капчу из страницы? там не код читать надо, а текст. если ты надеешься что мы тебе тут код дадим - то зря. мы можем лишь дать направление, что уже делаем, уже и ищем за тебя. давай, тоже черепушку подключай )))
и хватит понтоваться - а то вобще помогать перестанем.
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
1 я не понтуюсь, да и с чего ты это взял?
2 мне без разницы можно просто каптчу со страницы, можно полное сохранение, что легче то и сделать, а там я уже сам разберусь
6
22 сентября 2009 года
George
4.1K / / 05.01.2007
Цитата: Magister Yoda
1 я не понтуюсь, да и с чего ты это взял?


просто пойми что никто тебе ничего не должен. это раз. во вторых код здесь не дают, здесь показывают КАК решить задачу или справиться с проблемой.

Цитата: Magister Yoda

2 мне без разницы можно просто каптчу со страницы, можно полное сохранение, что легче то и сделать, а там я уже сам разберусь


конечная цель всех этих действий капчу получить? ))

34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Цитата: Washington
конечная цель всех этих действий капчу получить? ))


да, любым из способов, по-моему мнению я выбрал самый простой

6
22 сентября 2009 года
George
4.1K / / 05.01.2007
теперь очень простой эксперимент. открываем страницу с капчей, например эту:
http://www.matstyle.info/content/novyi-telefon
и сохраняем ее как HTMLфайл с изображениями. Затем открываем ее и что видим - капча не открылась. так что выбранный тобой способ неверный.
536
22 сентября 2009 года
alex-kniaz
382 / / 07.08.2008
Вдруг уникальная каптча? По хорошему, если каптча получается из iframe, то парсить его код. Как - по ситуации. Дадите код из ифрейма - может дадут пинок в нужную сторону.
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Цитата: Washington
теперь очень простой эксперимент. открываем страницу с капчей, например эту:
http://www.matstyle.info/content/novyi-telefon
и сохраняем ее как HTMLфайл с изображениями. Затем открываем ее и что видим - капча не открылась. так что выбранный тобой способ неверный.



хех... ты не угадал...
сейчас докажу =)
вот видео скачай и увидишь
в аттач не влезло

6
22 сентября 2009 года
George
4.1K / / 05.01.2007
видео скачать не могу. )) почему - не скажу. =)
короче надо парсить код айфрэйма.
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Цитата: Washington
видео скачать не могу. )) почему - не скажу. =)
короче надо парсить код айфрэйма.



2 метра траффика жалко?

6
22 сентября 2009 года
George
4.1K / / 05.01.2007
если 2 метра то не жалко. но уже лень. верю на слово что сохраняется. я пример НЕ с рекапчей приводил. ройся в айфрэйме и давай код сюда.
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
а я тебе пример привёл как раз твоего сайта, с рекаптчей аналогично сохраняется.
Причём я проверил что будет если отключить инет после того как загрузится страница и сохранить её. Аналогично. То есть при сохранении никаких запросов повторных не делается
6
22 сентября 2009 года
George
4.1K / / 05.01.2007
хм. может у меня особенность линуксовой оперы. не исключено. но да ладно, давай код айфрэйма. =)
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
какого?
6
22 сентября 2009 года
George
4.1K / / 05.01.2007
в который у тебя загружается рекапча.
34K
22 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
 
Код:
<iframe src="http://api.recaptcha.net/noscript?k=код_сайта" height="300" width="500" frameborder="0"></iframe>

этого?
только это бессмысленно, т.к. каптча будет другая, уже не та которая загрузилась на сайте.
вот именно поэтому мне и нужно полное сохранение страницы как в любом браузере.
P.S. на другом форуме модер какой-то неадекватный попался ппц. сам нихрена не понял сути вопроса и закрыл топик
6
23 сентября 2009 года
George
4.1K / / 05.01.2007
[highlight=html]
<form action="" method="POST">
<input type="hidden" name="recaptcha_challenge_field" id="recaptcha_challenge_field" value="027DjDu9J1whOtcdVpc5nnWZ3aERPH6483Fku0tHWsyi4CODOO_2-lhiyBypXap8Pybpe5T4LSvmBDfR84yZa96bBIVLLG-idhL98NBjRH-SyGFvZkUk8k_zXfLI2UHFEDpKb_Ed45yIAUGN4OnbeG-GW-HpgERuBrqSvz-rE_49AnGQrVXTKb630itXQD6-WJ1f7IzO6DjhvZpaJTzniNX8muXhE1ZkBPb0A_pbUMLvoiSRaSP09uskO7yiMhjOHYGrt-idr9w_6-WiFIKkbpm619QqMB" />

<table id="recaptcha_table" class="recaptchatable recaptcha_theme_red" >
<tr>
<td colspan="6" class='recaptcha_r1_c1'></td>
</tr>
<tr>
<td class='recaptcha_r2_c1'></td>
<td colspan="4" class='recaptcha_image_cell'><center><img id="recaptcha_image" width="300" height="57" alt="" src="/image?c=027DjDu9J1whOtcdVpc5nnWZ3aERPH6483Fku0tHWsyi4CODOO_2-lhiyBypXap8Pybpe5T4LSvmBDfR84yZa96bBIVLLG-idhL98NBjRH-SyGFvZkUk8k_zXfLI2UHFEDpKb_Ed45yIAUGN4OnbeG-GW-HpgERuBrqSvz-rE_49AnGQrVXTKb630itXQD6-WJ1f7IzO6DjhvZpaJTzniNX8muXhE1ZkBPb0A_pbUMLvoiSRaSP09uskO7yiMhjOHYGrt-idr9w_6-WiFIKkbpm619QqMB"></center></td>
<td class='recaptcha_r2_c2'></td>
</tr>
<tr>
<td rowspan="6" class='recaptcha_r3_c1'></td>
<td colspan="4" class='recaptcha_r3_c2'></td>
<td rowspan="6" class='recaptcha_r3_c3'></td>
</tr>
<tr>
<td rowspan="3" class='recaptcha_r4_c1' height="49">
<div class="recaptcha_input_area">
<label for="recaptcha_response_field" id="recaptcha_instructions" class="recaptcha_input_area_text">
Type the two words:
</label><br/>
<input name="recaptcha_response_field" id="recaptcha_response_field" type="text" autocomplete="off"/>
</div>
</td>

<td rowspan="4" class='recaptcha_r4_c2'></td>

<td><a id='recaptcha_reload_btn' href="/noscript?k=SITE_CODE&is_audio=False" title="Get a new challenge" tabindex='-1'><img id='recaptcha_reload' src=".\img\red\refresh.gif" alt="Get a new challenge" width="25" height="17" /></a></td>

<td rowspan="4" class='recaptcha_r4_c4'></td>

</tr>
<tr>
<td><a id='recaptcha_switch_audio_btn' tabindex='-1' title="Get an audio challenge" href="/noscript?k=SITE_CODE&is_audio=True"><img id='recaptcha_switch_audio' width="25" height="16" alt="Get an audio challenge" src=".\img\red\audio.gif"/></a></td>

</tr>
<tr>
<td><a id='recaptcha_whatsthis_btn' title="Help" href="http://recaptcha.net/popuphelp/" target="_blank" tabindex='-1'><img id='recaptcha_whatsthis' alt="Help" width="25" height="16" src=".\img\red\help.gif" /></a></td>

</tr>
<tr>
<td class='recaptcha_r7_c1'></td>
<td class='recaptcha_r8_c1'></td>
</tr>
<tr>

</tr>
</table>
<input type="submit" name="submit" value="I'm a Human" />
</form>
[/highlight]
вот собственно форма с рекапчей. отсюда и выдирать картинку.
Попробуй достать эту строку:
 
Код:
<img id="recaptcha_image" width="300" height="57" alt="" src="/image?c=027DjDu9J1whOtcdVpc5nnWZ3aERPH6483Fku0tHWsyi4CODOO_2-lhiyBypXap8Pybpe5T4LSvmBDfR84yZa96bBIVLLG-idhL98NBjRH-SyGFvZkUk8k_zXfLI2UHFEDpKb_Ed45yIAUGN4OnbeG-GW-HpgERuBrqSvz-rE_49AnGQrVXTKb630itXQD6-WJ1f7IzO6DjhvZpaJTzniNX8muXhE1ZkBPb0A_pbUMLvoiSRaSP09uskO7yiMhjOHYGrt-idr9w_6-WiFIKkbpm619QqMB">
а после этого взять эту картинку с ее адреса (src="..") и сохранить. Затем сравни то, что ты сохранил с тем что у тебя на странице.
34K
23 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
повторяю снова... эта страница динамическая, то есть я с неё получу уже другую каптчу, не ту которою должен буду отправить

и уже не знаю какой раз повторяю - как сохранить веб-страницу полностью?
6
23 сентября 2009 года
George
4.1K / / 05.01.2007
теоретически нет. там картинка вроде как генерится в зависимости от сессии. попробуй сначала. как сохранить всю страницу тебе сказали - вручную.
34K
23 сентября 2009 года
Magister Yoda
31 / / 06.06.2008
Цитата: Phodopus
Кидаешь на форму TMainMenu, TSaveDialog, делаешь меню Файл, Сохранить как, в фильтре TSaveDialog прописываешь "Веб-страница, полностью"



ты про это? :eek:

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог