HTML-парсер на узле.js [закрыто]
есть ли что-то вроде Руби nokogiri на nodejs?
Я имею в виду удобный HTML-парсер.
Я видел на узел.JS модули страницы некоторые Парсеры, но я не могу найти что-то красивое и свежее.
3 ответов:
Если вы хотите построить DOM можно использовать jsdom.
там же здоровье, Она имеет jQuery интерфейс и это намного быстрее, чем старые версии jsdom, хотя в эти дни они схожи по производительности.
возможно, вы захотите взглянуть на htmlparser2, который является потоковым парсером, и в соответствии с его бенчмарком он кажется быстрее других, и по умолчанию нет DOM. Оно может также создайте DOM, так как он также поставляется с обработчиком, который создает DOM. Это парсер, который используется колечко.
parse5 также выглядит как хорошее решение. Он довольно активен (11 дней с момента последнего фиксации на момент этого обновления), WHATWG-совместимый и используется в jsdom,Угловое и полимерные.
и если вы хотите разобрать HTML для web scraping, вы можете использовать YQL. Там это модуль для него. YQL я думаю, что было бы лучшим решением, если ваш HTML от статический веб-сайт, так как вы полагаетесь на службу, а не на свой собственный код и вычислительную мощность. Хотя обратите внимание, что это не будет работать, если страница запрещена роботом.txt сайта, YQL не будет работать с ним.
Если сайт, который вы пытаетесь очистить,динамический тогда вы должны использовать безголовый браузер как phantomjs. Также посмотреть casperjs, Если вы рассматриваете phantomjs. И вы можете управлять casperjs из узла с SpookyJS.
рядом с phantomjs есть zombiejs. В отличие от phantomjs, которые не могут быть встроены в nodejs, zombiejs-это просто модуль узла.
здесь nettuts+ toturial для последнего решения.
попробуйте https://github.com/tmpvar/jsdom - вы даете ему некоторый HTML, и он дает вам DOM.
вы также можете взглянуть на рентген:https://github.com/lapwinglabs/x-ray
Comments