Форум: "Основная";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
ВнизВытащить текст из html Найти похожие ветки
← →
lmz © (2005-12-17 20:22) [0]Как вытащить данные(текст) из html-страницы и записать их в файл?
На html-странице таблица, в которой записан текст в три столбца...
на счёт записи понятно, а вот на счёт изъятия текста, вот с этим вопрос?
явно это делается через теги(они используются как разделители), но похоже что страницу писали не ручками, а с помощью какой-то сторонней проги(мусора слишком много), догадываюсь что с помощью FrontPage...
← →
mfender © (2005-12-18 11:51) [1]Следует использовать MSHTML.
Как этим пользоваться - см. в MSDN.
← →
TUser © (2005-12-18 12:24) [2]А я бы свой парсер бы написал. Два часа работы максимум (даже для меня), а работать будет гарантированно и вне зависимости от прихотей Мелкософта. Программист - быстрее в пять раз напишет.
← →
lmz © (2005-12-18 13:24) [3]написать парсер не проблема, но страница очень загрязнена...
← →
mfender © (2005-12-18 15:08) [4]
> lmz © (18.12.05 13:24) [3]
> написать парсер не проблема, но страница очень загрязнена.
Как бы не была загрязнена страница, у неё есть DOM - документ и по полкам разложенное его содержимое. Вот отсюда и надо плясать.
← →
lmz © (2005-12-19 00:26) [5]
> Вот отсюда и надо плясать.
а можно показать как плясать то :)
← →
palva © (2005-12-19 01:13) [6]Страницу нужно загрузить в TWebBrowser, а потом через объект document залезать внутрь.
← →
lmz © (2005-12-19 03:14) [7]
> palva ©
можно примерчик кода?
Please!!!!
← →
TUser © (2005-12-19 11:08) [8]Ну, примерно
WebBrowser1.Navigate2 ("address");
(WebBrowser1 as IHTMLDocument2).document.body. + справка по JavaScript, например .anchors[12].innerTEXT - это текст в анкоре номер 12.
← →
DesWind © (2005-12-19 11:33) [9]Есть еще вариант
function GetTextFromBrowser(Source: TWebBrowser; Dest: TStringList): HRESULT;
var
PersistStream: IPersistStreamInit;
TextStream: TMemoryStream;
Stream: IStream;
begin
PersistStream:=Source.Document as IPersistStreamInit;
TextStream:=TMemoryStream.Create;
try
if PersistStream=nil then
begin
raise EAccessViolation.Create(strDocNotLoad);
end;
Stream:=TStreamAdapter.Create(TextStream, soReference) as IStream;
result:=PersistStream.Save(Stream, true);
Dest.LoadFromStream(TextStream);
finally
TextStream.Free;
end;
end;
← →
palva © (2005-12-19 11:44) [10]Вот здесь много примеров
http://podgoretsky.com/ftp/Docs/Delphi/Tenser/9/WebBrowser.doc
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c