![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Паук(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]А как имя веб-сервера, на который будет лазить этот паук?