Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Вниз

ГРАБЕР текстов с сайта...   Найти похожие ветки 

 
Meriguan ©   (2007-06-02 18:11) [0]

Может уже было...
Вобщем есть сайт, с которого мне нужно стянуть только тексты, причем тексты не полностью страничек, а только часть.(чего греха таить, хочу сграбать грубо говоря базу текстов песен с аккордами). вопрос в следующем: каким образом с помощю делфи это можно организовать?


 
palva ©   (2007-06-02 18:17) [1]

Скачать файлы на компьютер, открыть, посмотреть нужные ссылки, найти нужные тексты, по ссылкам искать следующие файлы, тексты сохранить в нужном месте в нужном формате.


 
Meriguan ©   (2007-06-02 18:24) [2]

каким образом это все автоматизировать, какими лучше компонентами пользоваться, в работе с текстовыми даными у меня проблем не возникает, и в тексте найти нужную ссылку тоже без проблем ,а вот автоматом закачать файл на комп вот вопрос! База дохрена здоровая ,а сижу на диалапе.


 
Meriguan ©   (2007-06-02 18:30) [3]

вкратце задача : есть урл, надо до 4 глубины скопировать ее но не полностью а лишь некоторый текст.
может так яснее. Телепорт про не предлагать!


 
Fredy314 ©   (2007-06-04 09:37) [4]

> [3] Meriguan ©   (02.06.07 18:30)

на http://delphiworld.narod.ru/ есть несколько вариантов
{Forces a download of the requested file, object, or directory
listing from the origin server, not from the cache}

function DownloadURL_NOCache(const aUrl: string; var s: String): Boolean;
var
  hSession: HINTERNET;
  hService: HINTERNET;
  lpBuffer: array[0..1024 + 1] of Char;
  dwBytesRead: DWORD;
begin
  Result := False;
  s := "";
  // hSession := InternetOpen( "MyApp", INTERNET_OPEN_TYPE_DIRECT, nil, nil, 0);
 hSession := InternetOpen("MyApp", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    if Assigned(hSession) then
    begin
      hService := InternetOpenUrl(hSession, PChar(aUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
      if Assigned(hService) then
        try
          while True do
          begin
            dwBytesRead := 1024;
            InternetReadFile(hService, @lpBuffer, 1024, dwBytesRead);
            if dwBytesRead = 0 then break;
            lpBuffer[dwBytesRead] := #0;
            s := s + lpBuffer;
          end;
          Result := True;
        finally
          InternetCloseHandle(hService);
        end;
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;

//aufrufen
var
  s: String;
begin
 if DownloadURL("http://www.swissdelphicenter.ch/", s) then
   ShowMessage(s);
end;


 
G_M_S ©   (2007-06-04 13:08) [5]


> Вобщем есть сайт, с которого мне нужно стянуть только тексты,

Частенько таким занимаюсь, как на Дельфи, так и на РНР ;))) Ессно за деньги. Бесплатно могу сказать только:

1. Подход к грабу текста в каждом случае (с каждым сайтом) свой, причем достаточно творческий, универсальные грабберы как правило толком все равно нифига не пашут

2. Граббер - это обычно мелкая кривая софтина, работающая стабильно до первой серьезной смены дизайна на сайте, после чего заказчику опять надо платить за ее переделку :)))

3. (по-существу): грузишь страницы при помощи TidHTTP, разбираешь, например, по DIV на блоки с целью вырезать нужное. Сцылы как правило вырезаются по имени файла, но если одна УРЛа встречается больше 1-го раза - то еще и по контексту.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
15-1180100113
oldman
2007-05-25 17:35
2007.06.24
Кстати, сегодня День Освобождения Африки....


9-1154277356
zoomer
2006-07-30 20:35
2007.06.24
Движок для гонок


2-1180954130
nali
2007-06-04 14:48
2007.06.24
Не рисуется иконка на кнопке в таскбаре


15-1179804046
Думкин
2007-05-22 07:20
2007.06.24
Обезьянти процессы и не только


10-1134133062
LORN
2005-12-09 15:57
2007.06.24
ексель->панель инструментов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский