Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Внизпарсинг Web Найти похожие ветки
← →
voe (2008-05-13 09:58) [0]Есть такая вот конструкция:
<DIV id=11>
<DIV align=justify >НУЖНЫЙ МНЕ <SPAN class=h>й</SPAN>ТЕКСТ!</DIV>
Как мне получить из этого: НУЖНЫЙ МНЕ ТЕКСТ!
Все что у меня получилось это: НУЖНЫЙ МНЕй ТЕКСТ!
Как мне проигнорировать <SPAN class=h>й</SPAN> ?
Данные вытаскиваю следующим образом:
var
HtmlDocument: IHtmlDocument2;
HtmlCollection: IHtmlElementCollection;
HtmlElement: IHtmlElement;
I: Integer;
SourceSave1: Textfile;
begin
AssignFile(SourceSave1,"c:\test2.txt");
ReWrite(SourceSave1); {Create a new file named ek.txt}
HtmlDocument := EmbeddedWB1.Document as IHtmlDocument2;
HtmlCollection := HtmlDocument.All;
for I := 0 to HtmlCollection.Length - 1 do begin
HtmlElement := HtmlCollection.Item(i, 0) as IHtmlElement;
if (HtmlElement.TagName="DIV") and (HtmlElement.ID="11") then
Writeln(SourceSave1, HtmlElement.innertext);
end;
Closefile(SourceSave1);
← →
clickmaker © (2008-05-13 10:15) [1]StringReplace или RegExp - первое, что приходит в голову
← →
sniknik © (2008-05-13 10:30) [2]> <SPAN class=h>й</SPAN>
книжки с литреса тыришь?
правильно, експроприируй эксроприируемое! но гораздо проще скачать тот же текст с бесплатных библиотек, цельный и в открытом формате.
← →
palva © (2008-05-13 10:30) [3]> Есть такая вот конструкция:
Если конструкция всегда правильная с точки зрения XML, то помочь могут парсеры XML.
← →
Anatoly Podgoretsky © (2008-05-13 10:32) [4]> voe (13.05.2008 09:58:00) [0]
Трудновато, поскольку твои правила удаления и добавления пробелов не поддаются логике.
← →
voe (2008-05-13 11:01) [5]А как нибуть просто прочитать только текст из тега DIV нельзя?
← →
affonya (2008-05-13 11:25) [6]А почему не загрузишь в TreeView , а потом не поищешь по нему node.text ?
← →
voe (2008-05-13 12:37) [7]
> правильно, експроприируй эксроприируемое! но гораздо проще
> скачать тот же текст с бесплатных библиотек, цельный и в
> открытом формате.
Как правильно?
> affonya (13.05.08 11:25) [6]
> А почему не загрузишь в TreeView , а потом не поищешь по
> нему node.text ?
Объемы большие + при загрузки в TreeView наверняки и текст из <SPAN class=h>й</SPAN> тоже загрузится.
← →
voe (2008-05-14 23:56) [8]Никаких идей?
← →
sniknik © (2008-05-15 08:41) [9]уже высказаны 2 диаметрально противоположные идеи... 1 - скачать с другого места в готовом формате, 2 - парсить (/вырезать лишние теги) получаемый, только htm а не XML.
и в общем то да, других не предвидится... хотя нет, есть еще пара - 3 - найди готовую программу или, 4 - найми программиста.
идеи кончились, дело за реализацией.
> А почему не загрузишь в TreeView , а потом не поищешь по нему node.text ?
потому что у него не hml, а веб страничка, у которой в одном теге текст "разбавленный" лишними тегами (SPAN) со случайными буквами, которые делают его нечитаемым если копировать стандартно.
из его описания этого не понять, просто я както интересовался данным вопросом. в курсе в общем.
← →
REA (2008-05-15 11:07) [10]А поудалять тэги span и сохранить как текст?
← →
sniknik © (2008-05-15 11:19) [11]как текст нельзя, потеряешь форматирование, вот сохранить как hml с удаленными span тегами. другое дело. после открывается хоть вордом, хоть фикшенбук конвертором, будет правильно оформленный текст.
хотя, это имхо, х.з. что на самом деле автору нужно.
← →
Style © (2008-05-15 11:20) [12]
> StringReplace или RegExp - первое, что приходит в голову
Конечно регулярные выражения что надо для таких задач.
а вот откуда в Делфе - RegExp? Я вот в 6ке не нашел.
Знаю что в DevExpress компонентах есть неплохая реализация механизма регулярных выражений.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c