Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Паук(spider) для обработки ХТМЛ-страниц. TWebbrowser или INDY?


Pcrepair ©   (2011-10-13 08:22:00) 

Добрый день
Что известно:
1. компонент TWebBrowser может загрузить, обработать код (JavaScript и прочее ФЛЭШ)  и отобразить страницу
2. для паука отображать страницу в общем ни к чему, кроме отдельных случаев (визуальный контроль оператором), картинки, флэш тоже не нужны, JavaScript обрабатывать нужно во многих случаях, еще нужно в автомате вставлять логины-пароли и отправлять их сервер(кнопочку нажимать). в общем все что нужно - оставить текст со ссылками (УРЛ) и сохранить табличную структуру страницы - чтоб не куча букв

Вопрос
Можно ли средствами INDY10 и RAD2010 сделать следующее (и будет ли это лучше - стабильнее, правильнее идеологически):
1. загрузить код ХТМЛ-страницы по заданному УРЛ
2. обработать JavaScrtipt и ввести результаты обработки в страницу
3. удалить все лишнее (флеш, картинки, фреймы, дивы), оставить только таблицы, текст, ссылки с привязкой к тексту (теги соответсвующие)
4. отобразить на РИЧЕДИТ? документ (для контроля результата)
5. вставлять логины-пароли и отправлять их на сервер

Если у кого есть примеры кода, дайте посмотреть. Заранее спасибо


Медвежонок Пятачок   (2011-11-02 12:02:00) [1]

судя по тому, что дивы для него - это лишнее, то там вообще все лишнее, что было сверстано не сто лет назад


oldman   (2011-11-02 11:16:00) [2]


> 3. удалить все лишнее (флеш, картинки, фреймы, дивы), оставить
> только таблицы, текст, ссылки


а какой критерий "лишности"?


БезымянныйСтудент   (2011-11-02 11:10:00) [3]

> Можно ли средствами INDY10 и RAD2010 сделать следующее

1, 3, 4 и 5 можно легко... С 2 могут возникнуть известные проблемы...
Мне тоже подскажите хоть какой-то JavaScrtipt-интерпритатор, если кто знает... =(


OW   (2011-10-13 15:55:00) [4]

WebBrowser1.Hide ? :)


Омлет   (2011-10-13 15:52:00) [5]

Почему именно Delphi?
Вот есть, к примеру, на Java - http://htmlunit.sourceforge.net/


Anatoly Podgoretsky   (2011-10-13 15:32:00) [6]

> Сергей М.  (13.10.2011 13:51:05)  [5]

Он вообще то далее кода хочет, а для этого уже знания и ум лишнее.
Написать полноценный движок, это несколько лет. Придется реализовывать кучу
скриптовых движков и многое другое.


Pcrepair   (2011-10-13 14:49:00) [7]

lда нет, просто на этапе отладки нужно смотреть что там получается, а вообще опция отображения содержимого страницы не нужна


Сергей М.   (2011-10-13 14:38:00) [8]


> браузер, только без визуализации.
> приблизительно то что нужно


А как же насчет


> отдельных случаев (визуальный контроль оператором)


?

Два разных браузера у себя в программе будешь окучивать - один без, другой с визуализацией ?

Не жирно будет ?)


b z   (2011-10-13 14:11:00) [9]

Кругом, куда не плюнь.


Pcrepair   (2011-10-13 14:07:00) [10]


> интерпретировать скрипты это только половина.
> потребуется еще строить дом и так далее.
> в общем это будет еще один браузер, только без визуализации.
>

вот, вот - приблизительно то что нужно
никто такого кода не видел?


Сергей М.   (2011-10-13 13:51:00) [11]


> как скрипты выполнять не в TWebbrowser?


Например, средствами MSScript.ScriptControl.
Но без построенной так или иначе DOM интерпретация будет бессмысленна.


> обязательно нужно какой то движок подключать - гекко или
> там от хрома


Необязательно если у тебя хватит знаний и сил самостоятельно реализовать большую часть функциональности движка.


Медвежонок Пятачок   (2011-10-13 13:29:00) [12]

интерпретировать скрипты это только половина.
потребуется еще строить дом и так далее.
в общем это будет еще один браузер, только без визуализации.


Pcrepair   (2011-10-13 13:26:00) [13]


> А как имя веб-сервера, на который будет лазить этот паук

имя - интернет


> Остальное - нет. Ибо это специфически прикладные дела, не
> входящие в компетенцию собственно индейского http-клиента.
>

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


Сергей М.   (2011-10-13 10:17:00) [14]


> Можно ли средствами INDY10


1,5 - Да.
Остальное - нет. Ибо это специфически прикладные дела, не входящие в компетенцию собственно индейского http-клиента.


Cobalt   (2011-10-13 10:11:00) [15]

А как имя веб-сервера, на который будет лазить этот паук?


Наверх

Титульная страница Поиск, карта сайта Написать письмо