Parser des pages avec Ruby

Bonsoir,

Je suis un peu en train de me prendre la tête sur des questions de
parsing de page avec Ruby.

J’utilise open-uri, HTMLEntities (pour pouvoir afficher correctement
les données) et hpricot…

Je me demandais par hasard si vous connaissez des outils déjà prêts
pour faire du parsing de page ?

J’ai vu qu’il y avait Mechanize, en existe-t-il d’autres ?

Je vous remercie par avance,

Pierre

Par exemple, je rencontre des problèmes sur des pages mal programmées.
Si la page contient des balises META avec des conventions différentes,
comme

<meta … />

hpricot ne récupère que le deuxième type.

Si vous connaissez des codes qui s’occupent de gérer tout cela… et de
juste parser tranquillement, quelque soit le charset ou tous les autres
problèmes qu’on peut rencontrer :wink:

Merci

2008/11/27 Pierre V. [email protected]

Désolé pour le nouveau message.

J’en profite pour partager le bout de code que j’ai fait…
http://pastie.org/325641

Bonne soirée.

Il y a quelques mois j’ai essayé un peu toutes les solutions de
screen-scraping.

Aucune ne m’a donné entièrement satisfaction et je m’en suis sorti par
un
mélage d’automatisation et de manuel assez empirique :

Qq problèmes rencontrés :

  • Le HTML dans la nature est crad, on le sait, et les outils un peu
    naïfs
    par rapport à ça (xxx ça existe !)
  • Le XPATH construit par Firefox (Web Tools) se base sur un DOM revu (en
    particulier FF insère des et systématiquement, ce qui
    fausse
    tout pour les tables)
  • Les solutions à base de sélecteurs CSS sont pas mal mais délicat Ã
    utiliser lorsqu’on descend profond dans le DOM de la page.

Quelques outils qui ont tous des qualités :

http://labnotes.org/svn/public/ruby/scrapi/
http://scrubyt.org/

Hope it helps :wink:


IciMarché fédère l’e-commerce de proximité
http://icimarche.fr