J'aimerai analyser des fichiers html (pour récupérer le contenu entre deux balises).
Voici ce que j'ai trouvé :
- Le lire avec des RegExp : c'est pas assez fiable ni modulaire (un div entre 2 div par exemple...)
- Le lire comme un .xml (ou équivalent) : malheureusement les fichiers html ne respecte pas les normes XML (balises non fermées, ...)
- Un truc propriétaire : http://www.reflectionit.nl/Html2Xml.aspx (mais ca à l'air d'être abandonné et bien sûr on ne peut pas reprendre le code source ;) (troll inside))
Quelle solutions connaissez-vous ?
Merci ;) .
# BeautifulSoup
Posté par Johands . Évalué à 6.
You didn't write that awful page. You're just trying to get some data out of it. Right now, you don't really care what HTML is supposed to look like.
Neither does this parser.
[http://www.crummy.com/software/BeautifulSoup/]
Bibliothèque en Python donc idéal pour faire un p'tit script crade et rapidement.
[^] # Re: BeautifulSoup
Posté par Dorian . Évalué à 1.
« En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll
[^] # Re: BeautifulSoup
Posté par Dorian . Évalué à 2.
PS : À la base je pensais le faire en php (vu que j'ai MagpieRSS pour lire les RSS) mais je vais le faire en python tellement c'est puissant ce script ;) .
PS (bis) : j'ai lu l'autre commentaire en même temps, je vais voir ce que ca donne avec HTMLParser ;) (mais je garde BeautifulSoup de coté).
« En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll
# libxml
Posté par Sphax . Évalué à 1.
J'avais déjà du code présent pour parser du xml en sax avec libxml2, je l'ai adapté pour utiliser les fonctions html.
Je parse en SAX mais tu peux aussi parser en DOM.
Regarde les fonctions readFile, htmlSAXParseDoc, etc.
Mon programme scanne un paquet d'URL, j'ai pas tout vérifié, mais il me semble que libxml s'en sort dans le cas d'un document mal formé.
[^] # Re: libxml
Posté par Sphax . Évalué à 1.
Le lien de HTMLparser: http://xmlsoft.org/html/libxml-HTMLparser.html
[^] # Re: libxml
Posté par Dorian . Évalué à 1.
« En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll
# Tidy Html
Posté par elloco (site web personnel) . Évalué à 1.
Puis un parseur xml.
[^] # Re: Tidy Html
Posté par Zarmakuizz (site web personnel) . Évalué à 2.
Commentaire sous licence LPRAB - http://sam.zoy.org/lprab/
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.