read parser nodejs node manipulation html parsing node.js nokogiri

parser - HTML-analizador en Node.js



nodejs dom (3)

Pruebe jsdom - le da un poco de HTML y le da un DOM.

¿Hay algo así como el nokogiri de Ruby en nodejs? Me refiero a un analizador de HTML fácil de usar.

Había visto en los módulos de Node.js algunos analizadores sintácticos, pero no puedo encontrar algo bonito y fresco.


Si quieres construir DOM puedes usar jsdom .

También hay cheerio , tiene la interfaz jQuery y es mucho más rápido que las versiones anteriores de jsdom, aunque en la actualidad tienen un rendimiento similar.

Es posible que htmlparser2 echar un vistazo a htmlparser2 , que es un analizador de transmisión en tiempo real, y de acuerdo con su punto de referencia, parece ser más rápido que otros, y no DOM por defecto. También puede producir un DOM, ya que también se incluye con un controlador que crea un DOM. Este es el analizador utilizado por cheerio.

parse5 también parece una buena solución. Está bastante activo (11 días desde la última confirmación a partir de esta actualización), cumple con WHATWG y se usa en jsdom , Angular y Polymer .

Y si desea analizar HTML para raspar web , puede usar YQL . Hay un módulo de nodo para él. YQL Creo que sería la mejor solución si su HTML proviene de un sitio web static , ya que está confiando en un servicio, no en su propio código y poder de procesamiento. Aunque ten en cuenta que no funcionará si el robot.txt del sitio web no permite la página, YQL no funcionará con ella.

Si el sitio web que intentas raspar es dynamic entonces deberías utilizar un navegador sin cabeza como phantomjs . También eche un vistazo a casperjs , si está considerando phantomjs. Y puedes controlar casperjs desde el nodo con SpookyJS .

Al lado de phantomjs hay zombiejs . A diferencia de phantomjs que no pueden integrarse en nodejs, zombiejs es solo un módulo de nodo.

Hay una nettuts + toturial para las últimas soluciones.