парсинг HTML

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

парсинг HTML

Сообщение beria » 21.12.2016 22:17:33

Вопрос к гуру, чем лучше всего распарcить страницу HTML (у меня строка типа Ansistring), достаточно сложной структуры, большого размера и с возможными (но не обязательными) ошибками в дерево DOM с целью построения запросов по нему. Критерии: существование простого конструктора запросов (лучше визуального и внешнего) и минимум используемой оперативной памяти (скорость работы парсера не так важна) :oops:
Аватара пользователя
beria
постоялец
 
Сообщения: 130
Зарегистрирован: 29.09.2016 08:57:13

Re: парсинг HTML

Сообщение CynicRus » 22.12.2016 22:18:09

Ну...Если надо в дерево загнать HTML, то скорее всего надо писать свой парсер. Лично я ещё не встретил ничего толкового, загоняющее в дерево HTML, чтобы работало на сложных структурах и не тянуло за собой какой нибудь WebKit или ещё что нибудь такое. Как вариант заюзать движок хромиума, ну или - придумывать решение самому. Потому, как HTML парсеры для Lazarus\Delphi во первых редкость, во вторых - в полуживом состоянии.
CynicRus
постоялец
 
Сообщения: 106
Зарегистрирован: 28.06.2012 14:31:11

Re: парсинг HTML

Сообщение Mirage » 23.12.2016 01:04:41

Зачем свое-то?
HTML это почти XML, так что можно парсить XML-парсером. Язык запросов прилагается - XPath. Думаю и конструкторы и онлайн хелперы для него есть.
Насчет ошибок, правда, не уверен. Надо искать такой, что терпимо относится к ошибкам.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: парсинг HTML

Сообщение Снег Север » 23.12.2016 08:08:24

Mirage писал(а):HTML это почти XML, так что можно парсить XML-парсером.
Это вы так думаете потому, что никогда не пробовали.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: парсинг HTML

Сообщение Mirage » 24.12.2016 16:41:23

Не пробовал, т.к. заведомо плохой подход. Хотя думаю это лучше, чем свой парсер писать.
Я пробовал решать эту задачу с помощью таких библиотек как JSoup на Java и pyQuery на Python. Было удобно, потому как поддерживаются не только xQuery-образные запросы, но jQuery-образные. Не знаю, есть ли что-то подобное для FPC.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

Рейтинг@Mail.ru