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

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

С помощью чего в Delphi это можно реализовать? [D6, WinXP]


Евгений2 ©   (2005-03-20 17:58:00) 

пишу программу которая ищет в html документах нужную инфу след. образом (в webbrowser загружается страница - парсится, потом вторая.....и т.д.)  Как оказалось впоследствии не очень удачный метод т.к. траффик и след. расходы на интернет получаются не "очень маленькими". И, как следствие, возникает вопрос как можно сделать так, чтобы моя прога выполнялась на стороне сервера(не скрипт, срабатывающий при нажатии на кнопку, а чтобы она постоянно обновляла данные по таймеру 1 в 5 мин. например) , а результат публиковался в динамически создаваемой странице. С помощью чего в Delphi это можно реализовать? Про что нужно почитать?


Евгений2   (2005-03-23 19:43:00) [1]

Если сжать вопрос до одного предложения: то как поисковые серверы (google, yahoo etc.)добывают и парсят веб-страницы.

А если б кто-нить мой интернет оплачивал, так и вопросов бы не было.


Плохиш   (2005-03-23 10:52:00) [2]

Я не понял:
1. Какой сервер должен парсить какие-то странички?
2. А оно ему надо?
3. Хочешь, что бы кто-то оплачивал твои расходы на интернетß


Евгений2   (2005-03-23 10:43:00) [3]

поставил Delphi7 c IntraWeb'ом перечитал кучу инфы, но так и не понял как парсить на серверной стороне..

раньше я делал примерно следующее:
procedure TFm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 Doc : IHtmlDocument2;
 ElementCollection: IHTMLElementCollection;
 HtmlElement: IHTMLElement;
 i: Integer;
begin
 Lines:=TStringList.Create;
 Doc:=WebBrowser1.Document as IHTMLDocument2;
 ElementCollection := Doc.all;
 for I := 0 to ElementCollection.length - 1 do
 begin
   HtmlElement := ElementCollection.item(I, '') as IHTMLElement;
   if HTMLElement.tagName = 'TD' then
    if Trim(HTMLElement.Get_Innertext) <> '' then
    begin
      Lines.Add(AnsiLowerCase(Trim(HTMLElement.Get_Innertext)));
    end;
 end;
 Btn2.Click;
end;


а как серверу получить доступ к DOM страницы?

IdHTTP1.Get(' http://www.somesite.com') - так вроде сервер может получить контент страницы в виде string, а что дальше делать??


Anatoly Podgoretsky   (2005-03-20 18:19:00) [4]

Все тоже самое, парсишь на серверной стороне. Для этой цели хорошо подходит ASP и Дельфи с его IntraWeb


Наверх

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