2009-08-03 4 views
2

Welchen HTML-Parser für Ruby finde ich am einfachsten zu verwenden, wenn ich schon vertraut mit jQuery bin?Die meisten jQuery-like HTML-Parser für Ruby

Ein solcher Parser würde jQuery Gesamtphilosophie haben - „einige HTML-Elemente greifen (CSS Selektoren) und Dinge zu tun, mit ihnen“ - und zusätzlich haben Äquivalente für alle DOM-Manipulation Funktionalität jQuery (prepend(), after(), etc).

Offensichtlich wäre es nicht sinnvoll, wenn ein serverseitiger Parser jQuery-Event-, -Effect- oder AJAX-Funktionalität unterstützt.

Bearbeiten: Hpricot tut das ziemlich gut (z. B. doc.search('#menu').inner_html) - Gibt es etwas mit einer besseren API? (Wenn ich Google "nokogiri v. Hpricot" alles, was ich bekomme, sind Geschwindigkeitsvergleiche. Ich interessiere mich nicht für Geschwindigkeit! Ich will nur eine Bibliothek, die Spaß/einfach zu bedienen ist!)

+0

Die API von Nokogiri ist der von Hpricot ziemlich ähnlich (ganz zu schweigen davon, dass Nokogiri die API von Hpricot emulieren kann). Ich weiß nicht genau, was Sie mit der API von Hpricot nicht recht haben. Was suchst du, dass es dir nicht gibt? – Pesto

+0

> Was suchen Sie, dass es Sie nicht gibt? Nichts Besonderes, ich frage mich nur, ob eine andere Bibliothek im Allgemeinen bevorzugt wurde. –

Antwort

4

Mit Hpricot wären Sie wahrscheinlich am besten zu Hause. Heck, es sagt, es ist sogar direkt auf der Titelseite:

Hpricot ist ein sehr flexibles HTML Parser, basierend auf Tanaka Akira HTree und John Resig jQuery, aber mit dem Scanner in C. I umcodiert‘ ve geliehen (was ich glaube zu sein) die besten Ideen von diesen Waren, um Hpricot Haufen von Spaß zu machen zu machen.

+0

jetzt http://github.com/hpricot/hpricot –

-5

Wäre das nicht mehr als erreichbar Verwenden Sie nichts anderes als Rubys eigene string manipulation und einige sehr Licht Regex (vielleicht? Ich habe Ruby in eine Weile nicht berührt).

+5

Nichts als die grundlegendste Manipulation von HTML sollte * jemals * mit String-Manipulation und Regex gemacht werden. – Pesto

+0

Nicht in einer Million Jahren. – Chuck

Verwandte Themen