Форум: "Основная";
Текущий архив: 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.041 c