|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.09.2011, 02:01 | #1 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Парсинг скрытых данных
Здравствуйте, пытаюсь достать ссылку на файл, который загружается на компьютер при нажатии кнопки. Сайт: http://safarizator.ru/
Загрузить файл можно post'ом, но дело в том, что ссылка на преобразованное изображение (которое в браузере можно скачать при клике на кнопку) - невидима. Ссылка создается в скрипте и имеет вид: http://safarizator.ru/files/out4e779...f5ab/image.png - естественно, часть между "files" и именем файла генерируется случайно. В браузере можно посмотреть код элемента (кнопки "Скачать"), но в коде страницы на него ссылается лишь строка <div id="tpl-status-block"></div> В этом и вопрос: как достать ссылку? Код HTML:
<div id="tpl-status-block"> <div class="tpl-status-field"> <span class="tpl-status-label">Исходный файл:</span> <span class="tpl-status-name" id="fld-in-name">cowboy.png</span> <span class="tpl-status-size" id="fld-in-size">305,97 <span class="tpl-status-size-metric">кб</span></span> </div> <div class="tpl-status-field"> <span class="tpl-status-label">Полученный файл png:</span> <span class="tpl-status-name" id="fld-png-name">cowboy.png</span> <span class="tpl-status-size" id="fld-png-size">333,31 <span class="tpl-status-size-metric">кб</span></span> <a href="/files/out4e779e4facacf5ab/image.png" class="tpl-status-link" id="fld-png-download" style="display: block; ">Скачать</a></div> </div>
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
20.09.2011, 02:47 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
а всё просто:
Нужы функции Pos,PosEx,Copy. 1. Ищем <div id="tpl-status-block"> и удаляем все что до него. 2. ищем <a href=" затем ищем " class="tpl-status-link" то что мижду ними копируем в переменную s:string получаем часть ссылки. 3. Далее host+s где host - это сайт s - грабанутая ссылка. |
20.09.2011, 11:57 | #3 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Человек_Борща, благодарю за ответ, но вы не поняли. В полученном после post'а коде нет того, что необходимо парсить. Даже в браузере этого кода не видно на главной странице после закачки на сервер файла. Он виден только после того, как я нажму правой кнопкой мыши на "Скачать" и выберу "Показать код элемента".
В том и дело, что в коде главной страницы на код кнопки ссылается лишь одна строчка: <div id="tpl-status-block"></div> - а ссылки, которая должна быть под ней - нет. Если сравнить код сайта до (когда нужно загрузить файл на сервер) и после (когда нужно загрузить преобразованный файл обратно на компьютер) закачки - ничего не меняется. Только визуально добавляется новая кнопка, а в коде ссылки, по которой она идет, да и самого ее описания - нет. Проблема. Как получить тот код, что я привел в первом посте?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Последний раз редактировалось Neeter; 20.09.2011 в 11:59. |
20.09.2011, 12:53 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Опять же все ещё проще..
Програмно отправляйте файл на сайт(multipart/form-data), сайт вам ответит вот таким кодом: Код:
Последний раз редактировалось Человек_Борща; 20.09.2011 в 13:01. |
20.09.2011, 14:02 | #5 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Отправляю файл:
Код:
Код HTML:
<!-- image.png --> <script type="text/javascript">parent.setData("uploadSize", 313317)</script>
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
21.09.2011, 01:40 | #6 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
Код сверху правильный. Просто строки
Код HTML:
<!-- image.png --> <script type="text/javascript">parent.setData("uploadSize", 313317)</script> Код HTML:
<script type="text/javascript">parent.setData("downloadPngSize", 541764); parent.setData("downloadPngName", "dl.png"); parent.setData("downloadPngUri", "/files/out4e78451374adf284/dl.png")</script>
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
парсинг данных с bash.org.ru | ivannes | Работа с сетью в Delphi | 6 | 29.03.2013 20:52 |
Парсинг данных из Stringlist | Lauri | Общие вопросы Delphi | 5 | 21.04.2011 20:22 |
Парсинг данных | Shouldercannon | Общие вопросы Delphi | 2 | 09.07.2010 13:14 |
Парсинг полученных данных | Shouldercannon | Общие вопросы Delphi | 11 | 09.01.2010 21:47 |
Создание скрытых файлов | HunterMan | Win Api | 1 | 04.06.2008 04:01 |