Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск текста по сайту 
:(
    Опции темы
BLACK_KOT
Дата 31.10.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: -1
Всего: -1



помогите  написать прогу которая при загрузке компа включает интернет(это не проблема), и скачевает текстовые ссылки с сайта : конкретно: с сайта "телепрограмма" на яндексе, ссылки в которых есть слово "Футбол" . и выводит всё найденное на дисплей. 


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
Qu1nt
Дата 31.10.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 2
Всего: 50



А в чем вопрос? = )
PM MAIL   Вверх
elestrago
Дата 31.10.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: 1
Всего: 3



1е. получаешь ХТМЛ страницу сайта
2е. ищещ в хтмл коде нужный тебе текст
3е. выводиш себе на экран 

если нужен код как это сделать пиши!
--------------------
PM MAIL ICQ   Вверх
BLACK_KOT
Дата 31.10.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: -1
Всего: -1



как сохранить интернет страницу в текстовый файл? и как в хtml?

Это сообщение отредактировал(а) BLACK_KOT - 31.10.2008, 23:35


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
Данкинг
Дата 1.11.2008, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(BLACK_KOT @  31.10.2008,  23:28 Найти цитируемый пост)
как сохранить интернет страницу в текстовый файл? и как в хtml?

Код

IdHttp.Get('ya.ru');



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
elestrago
Дата 1.11.2008, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 23.8.2007
Где: runet

Репутация: 1
Всего: 3




Код


unit Unit1;
 
interface
 
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Wininet, StdCtrls;
 
const
HTTP_PORT = 80;
CRLF = #13#10;
Header = 'Content-Type: application/x-www-form-urlencoded' + CRLF;
 
type
TForm1 = class(TForm)
   Button1: TButton;
   Memo1: TMemo;
   Button2: TButton;
   Memo2: TMemo;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
end;
 
var
Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function DelHttp(URL: String): String;
begin
if Pos('http://', URL) > 0 then Delete(Url, 1, 7);
Result := Copy(Url, 1, Pos('/', Url) - 1);
if Result = '' then Result := URL + #0;
end;
 
function GetUrl(const URL: String): String;
var
FSession, FConnect, FRequest: HINTERNET;
FHost, FScript, SRequest: String;
Ansi: PAnsiChar;
Buff: array [0..1023] of Char;
BytesRead: Cardinal;
Res, Len: DWORD;
begin
Result := '';
// Небольшой парсинг
// вытаскиваем имя хоста и параметры обращения к скрипту
FHost := DelHttp(Url);
FScript := Url;
Delete(FScript, 1, Pos(FHost, FScript) + Length(FHost));
//FScript := FHost + '/' +FScript;
 
// Инициализируем WinInet
FSession := InternetOpen('DMFR', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if not Assigned(FSession) then Exit;
try
   // Попытка соединения с сервером
   FConnect := InternetConnect(FSession, PChar(FHost), HTTP_PORT, nil,
                               'HTTP/1.0', INTERNET_SERVICE_HTTP, 0, 0);
   if not Assigned(FConnect) then Exit;
   try
     // Подготавливаем запрос страницы
     Ansi := 'text/*';
     FRequest := HttpOpenRequest(FConnect, 'GET', PChar(FScript), 'HTTP/1.1',
                                 nil, @Ansi, INTERNET_FLAG_RELOAD, 0);
     if not Assigned(FConnect) then Exit;
     try
       // Добавляем заголовки
       if not (HttpAddRequestHeaders(FRequest, Header, Length(Header),
                                     HTTP_ADDREQ_FLAG_REPLACE or
                                     HTTP_ADDREQ_FLAG_ADD or
                                     HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA)) then Exit;
 
       // Проверяем запрос:
       Len := 0;
       Res := 0;
       SRequest := ' ';
       HttpQueryInfo(FRequest, HTTP_QUERY_RAW_HEADERS_CRLF or
         HTTP_QUERY_FLAG_REQUEST_HEADERS, @SRequest[1], Len, Res);
       if Len > 0 then
       begin
         SetLength(SRequest, Len);
         HttpQueryInfo(FRequest, HTTP_QUERY_RAW_HEADERS_CRLF or
           HTTP_QUERY_FLAG_REQUEST_HEADERS, @SRequest[1], Len, Res);
       end;
       Form1.Memo2.Lines.Text := SRequest;
       // Отправляем запрос
       if not (HttpSendRequest(FRequest, nil, 0, nil, 0)) then Exit;
       // Получаем ответ 
       FillChar(Buff, SizeOf(Buff), 0);
       repeat
         Result := Result + Buff;
         FillChar(Buff, SizeOf(Buff), 0);
         InternetReadFile(FRequest, @Buff, SizeOf(Buff), BytesRead);
       until BytesRead = 0; 
     finally
       InternetCloseHandle(FRequest);
     end;
   finally
     InternetCloseHandle(FConnect);
   end;
finally
   InternetCloseHandle(FSession);
end;
end;
 
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Text := GetUrl('http://forum.vingrad.ru');
end;
 
end.

Цитата




Это сообщение отредактировал(а) elestrago - 1.11.2008, 00:09
--------------------
PM MAIL ICQ   Вверх
BLACK_KOT
Дата 5.11.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: -1
Всего: -1



elestrago, благодарю искренне за столь полный ответ!


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
BLACK_KOT
Дата 5.11.2008, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: -1
Всего: -1



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


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
Matematik
Дата 5.11.2008, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Яндекс использует кодировку utf-8
см. ф-ю Utf8ToAnsi()
PM MAIL WWW ICQ   Вверх
BLACK_KOT
Дата 5.11.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.12.2006

Репутация: -1
Всего: -1



походу в мемо шрифта такова нет. если сохранять в текстовый файл = то проблемы нет такой.а это мне и надо, так что всё путём! но за Utf8ToAnsi() спасибо!

Это сообщение отредактировал(а) BLACK_KOT - 5.11.2008, 17:41


--------------------
                       .. я - демо версия Бога от Microsoft..
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.4726 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.