Страница 1 из 1

Парсинг данных в HTML тексте

Добавлено: 23 ноя 2021, 23:59
Endeavour
Классическая задачка для парсинга: раз в два дня нужно выуживать определённые данные из от полусотни до пары сотен HTML автоотчетов. Отчеты генерятся DLLкой и шаблон файлов один и тот же. Я думал быстро накатать простенький парсер, но запутался в функции Match Regular Expression и в задании самих регулярных выражений. Два дня топчусь на месте. Буду рад помощи.

Re: Парсинг данных в HTML тексте

Добавлено: 24 ноя 2021, 14:43
Kosist
Выложите сниппет кода, или саму виайку. Со скриншота толку мало, т.к. никто не будет "перерисовывать" с него код себе...

Re: Парсинг данных в HTML тексте

Добавлено: 24 ноя 2021, 20:39
Artem.spb
Как-то нужно было сделать подобное. Я не стал заморачиваться с универсальными выражениями, а брутально искал заголовки.
У вас в коде видно, что вас интересуют, например, <TD и </TD>, ну так и ищите ЭТО
html.png

Re: Парсинг данных в HTML тексте

Добавлено: 24 ноя 2021, 22:36
Endeavour
В моих автоотчетах <TD> и </TD> обозначают очередную луковицу из тегов. А внутри этих луковиц, как раз данные и сидят. Я приложил изнанку HTMLки в начале. Там можно легко заметить: разная разметка внутри ячеек, т.е. разные теги. Цель пассажа внизу - отшелушить всю эту разметку и передать дальше лишь очередной кусочек строки.

Re: Парсинг данных в HTML тексте

Добавлено: 25 ноя 2021, 00:43
Artem.spb
Если у вас <TD> могут быть вложенными, то я вообще сомневаюсь, что получится сделать универсальное выражение
<TD> 1 <TD> 2<TD> 3 </TD></TD></TD>
Поиск текста межу <TD> </TD> при любом хитроумном выражении
выдаст вам "1 <TD> 2<TD> 3 ", встретив первую закрывающую "скобку"

В таком случае используйте алгоритмы проверки скобок на парность.
И потом, разобрав текст на слои, анализируйте как нужно.

Re: Парсинг данных в HTML тексте

Добавлено: 25 ноя 2021, 07:22
Endeavour
Небеда. Поэтому я и организовал внизу цикл с последовательным удалением начала (Substring 2) и окончания (Substring 3) любых тегов внутри очередной найденонной табличной ячейки <TD>BlaBlaBla</TD> (Substring 1). Противоречия условий поиска в таком подходе я не нахожу.

Re: Парсинг данных в HTML тексте

Добавлено: 25 ноя 2021, 15:55
IvanLis
Endeavour писал(а): 23 ноя 2021, 23:59 Два дня топчусь на месте. Буду рад помощи.
Регулярки это хорошо, но не особо гибко.
Можете посмотреть, как с помощью DOM парсить данные:
http://www.labviewportal.org/viewtopic. ... 31&p=52681

Re: Парсинг данных в HTML тексте

Добавлено: 26 ноя 2021, 08:31
Endeavour
Спасибо. Попробую понять ваш подход. На выходных как раз время будет.