2010-05-22 13 views
23

Lequel choisiriez-vous? Mes attributs importants sont (pas en ordre):Nokogiri vs Hpricot?

  1. Support et améliorations futures.
  2. Base de connaissances générales et communautaires (sur Internet).
  3. Complète (I.E., éprouvée pour analyser une large gamme de pages *. * Ml).
  4. Performances.
  5. Empreinte mémoire (temps d'exécution, pas la base de code).

Répondre

35

Choisissez Nokogiri, pour tous les points et en particulier un point: Hpricot est no longer maintained.

Méta-réponse: Voir ruby-toolbox pour avoir une idée de la popularité des différents outils dans un domaine donné.

+0

mise à jour - hpricot n'est plus maintenu, ce qui rend le choix encore plus facile. – jsh

+0

@jsh: Merci, réponse mise à jour –

8

Ne choisissez Hpricot que si vous n'avez pas installé ou ne pouvez pas installer LibXML sur l'ordinateur que vous utilisez. Si ce n'est pas le cas, choisissez Nokogiri, c'est mieux dans les cinq attributs mentionnés que Hpricot.

+7

Depuis littéralement il y a quelques minutes, il y a aussi une version Java pure de Nokogiri. Ainsi, vous pouvez utiliser Nokogiri sur JRuby sans FFI et sans libxml. (Google App Engine est un exemple où FFI n'est pas possible.) –

6

Le cas où j'ai trouvé que Hpricot est utile est de traiter du HTML cassé dont vous avez besoin de rester brisé après le traitement. Hpricot est bon pour modifier seulement la partie d'un document que vous avez mis à jour. À moins que cela ne soit nécessaire, Nokogiri est la voie à suivre.