Вниз
Скачать: 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.026 c
14-1135641619
PHOTOSHOP
2005-12-27 03:00
2006.01.22
[PHOTOSHOP] Как найти цвет, которого нет?


5-1122625321
Juice
2005-07-29 12:22
2006.01.22
Как отлаживать свои компоненты?


14-1135976799
Джо
2005-12-31 00:06
2006.01.22
Ну-с, флудеры,


1-1134717152
Malamba
2005-12-16 10:12
2006.01.22
Свой цвет закладок в PageControl


14-1135454736
alex-drob
2005-12-24 23:05
2006.01.22
Разрезать avi




   Наверх