Какой парсер самый быстрый?

Планируется получать информацию с сайтов CURL'ом или PhantomJS'ом (если у вас имеется предложение лучше, буду рад услышать его) и ее требуется чем-то обрабатывать, регулярные выражения не рассматриваются. Пользовался раньше PHP Simple HTML DOM, но эта библиотека неспособна обрабатывать огромные страницы, да и не уверен в ее скорости. Не могли бы вы посоветовать какую-нибудь мощную и легкую библиотеку для обработки полученной информации?
  • Вопрос задан
  • 3755 просмотров
Решения вопроса 4
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Задача стоит - быстро спарсить html страницу. Додумываю условие - страницу определённую, контент которой известен и более менее не меняется. В данном случае ответ очевиден - принимать html как текст и работать с ним как с текстом. IndefOf, substr и т.д. Это самый быстрый вариант.
За ним по производительности идёт regexp, он более удобен для написания, но не более правильный, чем ковыряться в строке.
Самым правильным идёт использование библиотеки. Потери в производительности здесь колоссалльные, но зато правильно и безопасно.
Ответ написан
igorbelikov
@igorbelikov
Fullstack Developer
Использование CURLа и его многопоточности + разбор регулярным выражением нужных частей.
Большой список программных парсеров.
Ответ написан
Комментировать
viktorvsk
@viktorvsk
Самый производительный "HTML-парсер", вероятнее всего, это XSLT. Например, Xalan или Saxon
Дополнительно:
habrahabr.ru/post/203004
en.wikipedia.org/wiki/Category:XSLT_processors

P.S.
Но если у вас будет много страниц небольшого размера, то парсер не играет никакой роли, т.к. задержка сети будет много выше.
Ответ написан
Комментировать
muhammad_97
@muhammad_97
PHP-разработчик
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Комментировать
@impass
Если размер обрабатываемых страниц не измеряется десятками или сотнями мегабайт и доступная память не сильно ограничена, то штатного DOMDocument, использующего нативную libxml, вполне должно хватить.

регулярные выражения не рассматриваются

Говоря о выборке из XML/HTML всегда в первую очередь вспоминайте об XPath. В PHP в сочетании с DOMDocument пригодится DOMXPath.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы