Главная страница
    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.043 c
2-1181028970
RomanLN
2007-06-05 11:36
2007.06.24
После заполнения комб списка в конце остаються пустые строки


2-1180736356
Ламер 2.ХХ
2007-06-02 02:19
2007.06.24
ПК в сети


15-1180367908
GeLLeR
2007-05-28 19:58
2007.06.24
Окончил музыкальную школу с красным дипломом!


4-1168770920
SysProgram
2007-01-14 13:35
2007.06.24
Определение параметров пользователя


4-1168940795
Невский
2007-01-16 12:46
2007.06.24
Весы Bizerba





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский