Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Вытащить текст из 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
14-1135714438
TimeTable
2005-12-27 23:13
2006.01.22
поворот изображения. В чем ошибка?


14-1135176699
syte_ser78
2005-12-21 17:51
2006.01.22
счетчик пробега мыши


2-1135759223
Max Zyuzin
2005-12-28 11:40
2006.01.22
Составляю SQL запросик


14-1135508385
Kerk
2005-12-25 13:59
2006.01.22
RegExp выделение ссылок


2-1136467746
Piter
2006-01-05 16:29
2006.01.22
TStringList с сохранением в файл