Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.031 c
2-1136328649
Lokk
2006-01-04 01:50
2006.01.22
прогрессбар!


14-1135845793
oleggar
2005-12-29 11:43
2006.01.22
alfa filemonitor


2-1136105979
The Sound_1
2006-01-01 11:59
2006.01.22
Обработка процедуры, при нажатии на кнопку.


2-1136374775
serko
2006-01-04 14:39
2006.01.22
ListBox


4-1131661860
sergey1
2005-11-11 01:31
2006.01.22
как можно создать на чистом Windows API без применения визуальны




   Наверх