Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.041 c
15-1209297079
Kostafey
2008-04-27 15:51
2008.06.08
С днем рождения ! 27 апреля


15-1209437851
Slider007
2008-04-29 06:57
2008.06.08
С днем рождения ! 29 апреля 2008 вторник


2-1210497060
Serj
2008-05-11 13:11
2008.06.08
Загрузочная флешка


2-1210746303
kupidon
2008-05-14 10:25
2008.06.08
Округление чисел


2-1210851132
Кирей
2008-05-15 15:32
2008.06.08
как правильно в текст запроса написать дату





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