Форум: "Начинающим";
Текущий архив: 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