Bonjour,
Que me conseillez-vous comme parseur HTML afin d'extraire des données d'une page web?
Merci
Bonjour,
Que me conseillez-vous comme parseur HTML afin d'extraire des données d'une page web?
Merci
Ou n'importe quelle parser XML, ça dépend si tu veux aussi t'occuper du rendu...
Salut
Ca dépend aussi de la robustesse du HTML entré. Un parseur XML va sortir en erreur au moindre pet de travers, alors qu'un parseur HTML bien conçu peut être tolérant à certaines erreurs. Trunks n'est pas forcément l'auteur du HTML utilisé et n'a donc pas forcément la main sur la qualité du HTML en question...
Il y a Tidy qui utilisé en lib, peut être utile. Ce n'est plus très maintenu mais parce que pas mal stable il me semble.
Seulement si le code HTML est bien formé (comme l'a précisé jblecanard) et sur le net, il y a malheureusement énormément de pages mal formées.
En effet, il y a la librairie libtidy qui permet de réparer le code mal formé (jusqu'à une certaine limite) qui pourrait permettre d'utiliser un parser xml quelconque (xerces-c++, arabica, libxml-c++, tinyxml, rapidxml, ..).
J'ai vu que libxml (version c) avait un module HTMLParse qui permettait de parser une page HTML mal formée, mais que ce module n'était pas testé.
Perso, j'ai testé Boost.PropertyTree, mais j'ai des problème de compilation et d'utilisation.
Je pense que le mieux reste d'utiliser Tidy Html en espérant que ça répare bien les pages et qu'ensuite j'utilise le parser xml de mon choix.
pourquoi ne pas utiliser HtmlBrowser (.NET) ou QtWebKit (Qt/C++)?
c'est le meilleur parseur que vous pourrez jamais obtenir...
Partager