Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Парсер HTML (число прочтений - 3044 )
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Парсер HTML
13. Июля 2011 :: 06:18
Печать  
Господа, подскажите пожалуйста, чем можно отпарсить HTML-файл, так чтобы с его иерархическими тегами и свойствами можно было работать аналогично XML? Очень надо бы... можно конечно и вручную но неудобно.

P.S. Ну или хотя бы в виде DOM-дерева получить....
« Последняя редакция: 13. Июля 2011 :: 07:18 - maljaev »  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Парсер HTML
Ответ #1 - 13. Июля 2011 :: 07:26
Печать  
RegExp тебе поможет
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Парсер HTML
Ответ #2 - 13. Июля 2011 :: 07:52
Печать  
Не поможет, regexp-пом можно только небольшие целевые куски извлекать, полностью распарсить DOM-дерево не получится. Это в любом факе по парсингу можно прочитать. Да я и сам понимаю что не получится, я умею пользоваться регулярными выражениями и имею представление о dom-дереве. HTML ведь не XML, в нем намного меньше строгостей.
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Парсер HTML
Ответ #3 - 13. Июля 2011 :: 10:30
Печать  
Отбой, я уже сам парсер на 1С написал. Да шустрый получился, файл меговый за треть секунды парсит.  Улыбка
В итоге получаем полное DOM-дерево, засунутое в иерархическую ТЗ (то есть подчиненные теги во вложенных ТЗ). Атрибуты не парсил, это уж слишком много нюансов учесть надо.
  
Наверх
 
IP записан
 
maljaev
Senior Member
****
Отсутствует


Классический секс с 1С
надоел. Хочется изврата...

Сообщений: 405
Местоположение: Нижний Новгород
Зарегистрирован: 19. Октября 2006
Пол: Мужской
Re: Парсер HTML
Ответ #4 - 13. Июля 2011 :: 11:36
Печать  
В общем выкладываю то что получилось, возможно кому-то еще пригодится.

В архиве 3 файла: сама обработка, svg-файл который я парсил (по сути тот же html, точнее его расширение), и файл с выведенными результатами парсинга.

Обработка открывает svg, парсит его в иерархическую ТЗ, ну и до кучи выводит в текстовый файл с отступами для наглядности процесса. Строки исходного файла чистятся от лишних пробелов и переводов строк, поэтому стало работать помедленнее (мне это нужно, кому не нужно сам уберет).

Дальше уж дорабатывайте как хотите, мне это для проекта надо было - вывожу сложную векторную схему рынка в 1С, с интерактивностью и связыванием блоков-мест с данными контрагентов (условия договора, взаиморасчеты). Можете ее даже открыть/посмотреть в IE9 или FireFox (ну или с плагином Adobe SVG Viewer). Правда эта сырец, в 1С уже преобразованная пойдет, для чего парсер и нужен был.
  

_______HTML.zip ( 158 KB | Загрузки )
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать