Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.031 c
2-1136622058
rruussllaann
2006-01-07 11:20
2006.01.22
регистрация своего типа файла


2-1135697703
kyn66
2005-12-27 18:35
2006.01.22
Предотвратить появление Popup меню


9-1122718523
Зм1й
2005-07-30 14:15
2006.01.22
Как повернуть точку на 90 градусов вокруг оси X?


2-1136548967
IK
2006-01-06 15:02
2006.01.22
WinWORD


4-1131890957
Дмитрий_05
2005-11-13 17:09
2006.01.22
Использование функции RasConnectionNotification





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский