Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Вниз

Конвертация HTML в TXT   Найти похожие ветки 

 
DarkLord   (2004-12-17 19:47) [0]

Hi All!

Суть задачи:
Есть программа, парсящая текст. Есть сайт с необходимой, часто обновляющейся информацией. Программа работает только с обычным текстом. Вопрос в том, как HTML перегнать в TXT.

Вижу такие пути решения:
1. Написать самому "с нуля" разбор HTML-а, удаление тэгов и т.п. Но долго и гиморно. Хотя, при наличии каких-либо наработок - можно. Фишка в том, что у меня наработок нет :)
2. В Internet Explorer есть менюшка "сохранить как". Так вот там можно выбрать текстовый формат для сохранения текущей страницы. Можно ли из Дельфей обратиться к эксплореру, подсунув ему HTML, и заставив сохранить в текст? Или может через МС Ворд можно?
3. Взять готовый компонент и не морочить голову.

3-й вариант не совсем предпочтителен, т.к. мало ли, что на HTML-странице может встретиться... а исправить трудно будет.

Предпочтителен 1-й или 2-й способ. Подтолкните мою мысль в этом направлении, пожалуйста.

Поиск в инете результатов не дал. Вернее есть готовые программы, но это не совсем то, что требуется. Да и работают они, мягко говоря, хреново.


 
Sergey_Masloff   (2004-12-17 20:20) [1]

2) Импорт АктивИкс в меню

Microsoft Internet Controls

TWebBrowser


 
DarkLord   (2004-12-17 20:31) [2]

Если можно, то немножко подробнее об импорте ActiveX и Microsoft Internet Controls...
Хоть в двух словах... :)


 
Sergey_Masloff   (2004-12-17 20:43) [3]

DarkLord   (17.12.04 20:31) [2]
Да без проблем

В меню Component->Import ActiveX Control

В списке (большом) нужно выбрать Microsoft Internet Controls

И внизу нажать кнопку CreateUnit будет создан модуль который включаешь в Uses и вперед.

var ie;
begin
 ie := TWebBrowser.Create();
и вперед

Также еще можно нажать кнопку Install и он прямо в палитру компонентов вставит компонент но в D6 и выше это не сделаешь так как там уже есть компонент TWebBrowser (кстати его можешь и использовать - я просто с D5 в основном работаю вот сразу и не вспомнил)


 
DarkLord   (2004-12-17 21:48) [4]

Спасибо. Со вставкой разобрался. Но вопрос пока открыт...

Я работаю в 6-ой Дельфе и пользую TWebBrowser, для загрузки самой страницы. Она у меня грузится и отображается... а вот сохранить её в текстовом виде - никак. Хоть бы как-то текст получить. Попытался через TWebBrowser.GetTextBuf - мимо... в буфере пару левых символов висят.

Наверное пока придется вручную теги удалять... Хоть там и не сильно много писанины, но метод 2 уж больно красивый. Жалко, что пока въехать не могу.

Вот получилось таким образом: запросом GET, через сокет, получил страницу и загоняю её в StringList. А дальше? Как её прикрутить к эксплореру, но не для отображения, а для "конвертации"?


 
Gero ©   (2004-12-17 21:58) [5]

var
 PersistFile: IPersistFile;

PersistFile := WebBrowser.Document as IPersistFile;
PersistFile.Save(StringToOleStr("textfile.txt"), True);


 
Sergey_Masloff   (2004-12-17 22:18) [6]

Можно еще получить документ и см. MSDN

IOleCommandTarget
OLECMDID_SAVEAS


 
easy ©   (2004-12-17 23:56) [7]

s:=WebBrowser.OleObject.document.body.innerText;


 
DarkLord   (2004-12-19 19:49) [8]

Всем огромное спасибо. Победил таки... с вашей помощью ;)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
4-1100800459
The Scorpion
2004-11-18 20:54
2005.01.02
Проецируемые в память файлы


14-1102575072
Чеширский_Кот
2004-12-09 09:51
2005.01.02
Байер (Германия) - Динамо (Киев) 3:0


1-1103196549
Dnech
2004-12-16 14:29
2005.01.02
КАК самому Отрисовать бордюр PopUpMenu?


14-1102704536
_UnderT_
2004-12-10 21:48
2005.01.02
Dial up server


14-1102515188
CainikDenis
2004-12-08 17:13
2005.01.02
Где поить пивом Easy???





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