Еще пара способов получения содержимого страницы

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

Компонент TIdHTTP
Идем на вкладку Indy Clients и из широчайшего выбора компонентов останавливаемся на TIdHTTP. Компонент TIdHTTP (Indy клиент HTTP) используется для поддержки сетевого протокола HTTP на стороне клиента (поддерживаются версии 1.0 и 1.1, включая операции GET, POST и HEAD). Кроме того, обеспечивается поддержка аутентификации пользователей и применение прокси-серверов. Можете самостоятельно поэкспериментировать с ним. Я же покажу самое простое. Киньте на новую форму этот компонент, мемо и кнопку. В обработчике клика кнопки напишите:


 try   
  s := IdHTTP1.Get('http://yandex.ru');   
  Memo1.Text := s;   
except   
end;   

Всего одна строчка кода — и в переменной s у вас окажется всё, что вернет Get-запрос. Мы получили все, что нужно для дальнейшей обработки.

UrlDownloadToFile
В uses добавляем UrlMon. Объявляем функцию:


function DownloadFile(SourceFile, DestFile: string): Boolean;  

Реализация:


function DownloadFile(SourceFile, DestFile: string): Boolean;   
begin   
  try   
    Result := UrlDownloadToFile(nil, PChar(SourceFile),   
PChar(DestFile), 0,   
         nil) = 0;   
  except   
       Result := False;   
  end;   
end;  

Пример использования:


try   
  SLBody:=TStringList.Create;   
  sFileName:=ExtractFilePath(Application.ExeName) + 'cache.txt';   
  currBody:='';   if DownloadFile(LinkStr,sFileName) then   
     SLBody.LoadFromFile(sFileName);   
  currBody:=SLBody.Text;   
  DeleteFile(sFileName);   
finally   
  SLBody.Free;   
end;  

В результате в строковой переменной currBody останется то, что нам надо. Как вы видите, содержимое страницы загружается в файл, потом читается из файла, а сам файл, как ненужный рудимент, удаляется.

Остальные возможные способы будем разбирать по мере надобности. Пока что этих хватит даже с избытком.
Теги:
содержимое страницы
Добавлено: 01 Августа 2018 07:27:06 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...