![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.03.2010
Сообщений: 138
|
![]()
Привет всем
До этого пробовал загружать странички методом GET и пропарсив теги получал содержимое страниц для данной сессии. Но как выяснилось некоторые сайты обычно после успешной сессии и записи кук автоматически перенаправляют (redirect) пользователя тем самым изменяется некоторые строчки кода в самой страничке что тоже реально. Как вы думаете стоит ли для таких случаев заранее сохранять голый HTML сайт физически у себя и после этого уже парсить его как локальный файл, думаю такой подход может оказаться весьма стабильнее имея у себя конкретный файл данных.
Вчера
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
После вызова GET с полученным текстом уже ничего не поможет произойти, потому что
1) Если там были редиректы, то они уже сделались (если конечно HandleRedirects не стоит false) 2) яваскрипты не выполняются |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.03.2010
Сообщений: 138
|
![]()
Как это не выполняются можно по подробнее? Т.е если измениться значение в SELECT которые реализован на джаваскрипт то его методы не будут обрабатываться? я что то не понял
думаю а может сохранить страничку на выходе как txt и потом парсить его? Redirect поставил в true и заполнил все POST данные в свойствах HTTP компоненты, прописал до User Agenta и подключил Cookie manager. Пример у меня такой Код:
Вчера
Последний раз редактировалось Blourid; 15.03.2010 в 18:48. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Для начала, что такое HTTP1?
Это TIdHTTP? Я говорил про него. Если да, то заводим пременную s типа стринг и s:=HTTP1.Get(...) будет достаточно. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.03.2010
Сообщений: 138
|
![]()
Да конечно это idHTTP просто я использую CnPack и меняю название компонентов.
Загружать в память это не то что я хочу, дело в том что, на сайте используется джаваскрипт и ajax, которые берут данные из базы, например если выбрать какое то значение потом нажать на Submit - Отправить и после этого 10-15 секунд в поиске базы данных моего запроса на следующей страницы выводится ответ. Но как вы уже знаете сам сайт не перенаправляется на другую страничку а обновляется содержимое формы джаваскрипта который выводит тот результат. Я выделил тот участок на форме и посмотрел его исходный код, увидел что этот код генерирует после ответа из базы , т.е до запроса этого кода на страничке не было. А я как обычно при подключении посылаю POST запрос для двух значений, и сайт как бы приняв мой запрос ждет еще нажатия кнопки чтобы завершить ее, потом уже после того если я даже нажму на эту кнопку то придется подождать еще 10-15 сек. чтобы получить ответ. Задача в том как мне получить ответ после всех этих манипуляций ввода значений? Как узнать загружена ли последняя ответная страничка из которой я смогу пропарсить для себя нужные мне данные...
Вчера
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Idhttp не выполняет ничего по типу ajax и javascript. Это делается ручками. Просто отправляем пост-запрос и ждём ответа. Потом просто анализируем его.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
парсинг Html | eldar | Общие вопросы Delphi | 4 | 23.04.2009 20:42 |
Парсинг страницы | Terikon | Общие вопросы Delphi | 3 | 04.04.2009 00:32 |
парсинг страницы | seoanalyzer | Общие вопросы Delphi | 3 | 13.02.2009 12:50 |
Парсинг HTML страницы | OkeaH | Работа с сетью в Delphi | 1 | 19.01.2009 09:17 |
HTML Парсинг | BaikalLord | Помощь студентам | 5 | 15.12.2008 08:20 |