204 votes

HTML-analyseur sur nodejs

Est-il quelque chose comme Ruby nokogiri sur nodejs? Je veux dire un convivial HTML-analyseur.

J'avais vu sur nodejs la page modules certains analyseurs, mais je ne peux pas trouver quelque chose de joli et frais.

453voto

Farid Nouri Neshat Points 6895

Si vous voulez construire DOM vous pouvez utiliser jsdom.

Il y a aussi cheerio, il a le jQuery interface et c'est beaucoup plus rapide que jsdom.

Vous pourriez voulez avoir un coup d'oeil à htmlparser2, qui est un streaming de l'analyseur, et en fonction de son indice de référence, il semble être plus rapide que les autres, et pas DOM par défaut. Il peut aussi produit un DOM, comme il est également livré avec un gestionnaire qui crée un DOM. C'est le parser qui est utilisé derrière cheerio.

Et si vous voulez analyser HTML pour le web de grattage, vous pouvez utiliser YQL. Il y a un nœud du module . YQL je pense que ce serait la meilleure solution si votre code HTML est à partir d'une statique de site web, car vous êtes en s'appuyant sur un service, et non votre propre code et de puissance de traitement. Mais notez qu'il ne fonctionnera pas si la page est rejetée par la robot.txt du site, YQL de ne pas travailler avec elle.

Si le site que vous essayez de gratter est dynamique , alors vous devriez être à l'aide d'un navigateur sans comme phantomjs. Aussi jeter un oeil à casperjs, si vous envisagez de phantomjs. Et vous pouvez contrôler casperjs de nœud avec SpookyJS.

À côté de phantomjs il y a zombiejs. À la différence de phantomjs qui ne peuvent pas être intégrés dans nodejs, zombiejs est juste un nœud du module.

Il y a un nettuts+ toturial pour la dernière des solutions.

14voto

thejh Points 20901

Essayez https://github.com/tmpvar/jsdom - vous lui donner une certaine HTML et il vous donne un DOM.

12voto

Will Points 840

Mise à jour: cheerio est probablement votre meilleur pari.

Nœud.io est un très complet, racloir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X