Raclage HTML en Php [dupliquer]

Cette question a déjà une réponse ici:

J'ai fait du raclage html en PHP en utilisant des expressions régulières. Cela fonctionne, mais le résultat est tatillon et fragile. Quelqu'un a-t-il utilisé des paquets qui fournissent une solution plus robuste? Une solution pilotée par la configuration serait idéale, mais je suis pas pointilleux.

33
demandé sur tsellon 2008-08-29 11:32:15

7 réponses

Je recommanderais php simple HTML DOM Parser Après avoir gratté le HTML de la page. Il prend en charge HTML non valide, et fournit un moyen très facile de gérer les éléments HTML.

28
répondu Espo 2008-08-29 07:55:42

Si la page que vous grattez est valide X (HT) ML, alors l'un des analyseurs XML intégrés de PHP fera l'affaire.

Je n'ai pas eu beaucoup de succès avec les bibliothèques PHP pour le grattage. Si vous êtes aventureux, vous pouvez essayer simplehtmldom . Je recommande Hpricot pour Ruby ou Beautiful Soup pour Python, qui sont tous deux excellents parseurs pour HTML.

5
répondu John Douthat 2008-08-29 08:01:37

Je recommanderais également ' simple HTML DOM Parser."C'est une bonne option en particulier si vous connaissez les sélecteurs jQuery ou JavaScript, vous vous retrouverez chez vous.

J'ai même blogué à ce sujet dans le passé.

5
répondu Orange Box 2009-07-31 19:43:11

J'ai eu du plaisir à travailler avec htmlSQL , qui n'est pas tellement une solution haut de gamme, mais vraiment simple à utiliser.

5
répondu BlaM 2014-01-24 12:45:30

En utilisant PHP pour le grattage HTML, je recommanderais cURL + regexp ou cURL + quelques analyseurs DOM bien que j'utilise personnellement cURL + regexp. Si vous avez un goût profond de regexp, c'est parfois plus précis.

3
répondu datasn.io 2008-12-27 09:11:09

J'ai eu très bien avec les résultats avec le Simple HTML DOM Parser mentionné ci-dessus aussi. Et puis il y a aussi l'Extension tidy pour PHP qui fonctionne très bien aussi.

2
répondu Jan Gorman 2008-08-29 08:08:50
2
répondu Steve 2010-12-02 06:51:57