web-dev-qa-db-fra.com

Analyser HTML dans Python

Quelle est ma meilleure option pour analyser HTML si je ne peux pas utiliser BeautifulSoup ou lxml? J'ai du code qui utilise SGMLlib mais c'est un peu bas niveau et il est maintenant obsolète.

Je préférerais que cela puisse endommager un peu de code HTML malformé, bien que je sois presque sûr que la plupart des entrées seront assez propres.

27
Andy Baker

Python a un analyseur HTML natif , mais le wrapper Tidy suggéré par Nick serait probablement un bon choix également. Tidy est une bibliothèque très courante, (écrite en C est-ce?)

10

Vous pouvez installer lxml et de nombreux autres modules python facilement et de manière transparente sur le Mac (OS X) en utilisant Pallet, qui est le GUI officiel MacPorts

Le nom du module est py27-lxml. Facile comme 1,2,3.

2
Gussisaurio

Peut-être que µTidylib répondra à vos besoins?

2
Nick Presta

html5lib est bon:
http://code.google.com/p/html5lib/

Mise à jour: Le lien ci-dessus est rompu. Un miroir tiers ci-dessus est accessible à partir de https://github.com/html5lib/gcode-import

1
rudyryk

htql est bon pour gérer le html mal formé:

http://htql.net/

1
seagulf

http://www.xmlhack.com/read.php?item=1392http://sourceforge.net/projects/pirxx/

http://pyxml.sourceforge.net/topics/

Je n'ai pas beaucoup d'expérience avec python, mais j'ai utilisé Xerces (de la fondation Apache) dans le passé et je l'ai trouvé très utile. La courbe d'apprentissage n'est pas mauvaise non plus, bien que je ne vienne pas d'un point de vue python. Je vous suggère cependant de le considérer. (Les deux premiers liens que j'ai inclus discutent python s'interface avec Xerces et le dernier est le premier hit google sur "python xml").

1
Joe Bane