Главная страница
    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.447 c
14-1136026952
Kerk
2005-12-31 14:02
2006.01.22
Стратегия и тактика


2-1135753845
Andrey235
2005-12-28 10:10
2006.01.22
Проблема с delphi 6 !!!!!!!


3-1132676973
oleggar
2005-11-22 19:29
2006.01.22
format dbf


8-1124134643
Никита
2005-08-15 23:37
2006.01.22
Как залить замкнутый участок в Canvas каким либо цветом


2-1136224653
Revan
2006-01-02 20:57
2006.01.22
Программа ТЕСТ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский