je cherche à parser une page (x)HTML
Je n'ai pas "beaucoup" d'informations à extraire, juste les liens sur une image vers une autre image.
<a href="unlienversuneimage.jpg"><img src="uneimage.jpg" alt="uneimage" /></a>
j'utilise ce pattern :
"<a.*href=[\x27|\x22](.*?jpg)[\x27|\x22]><img.*src=[\x27|\x22](.*?jpg)[\x27|\x22].*></a>"
Le problème c'est que je ne suis pas l'auteur des pages que je vais parser, et elles sont donc toutes formées différements.
Faut imaginer qu'il peut y avoir des attributs de toutes sortes, class, id, onmouse, avant ou après l'information qui m'interesse.
Dans l'ensemble ça fonctionne, mais ce pattern présente quelques limitations.
- Si tout est une sur seul ligne alors, alors le premier lien est pris en compte et la dernière image (ce qui est assez logique)
- Si les balises, éléments sont sur des lignes différentes, ça ne matche pas (c'est pas vraiment un problème étant donné qu'avant de parser mes données je peux remplacer tous les retours à la ligne par un espaces mais vu le problèmes du dessus...
J'ai jeté un oeil un HTMLParser mais ça ne m'a pas l'air assez souple pour ce que je cherche à faire.
J'aimerai bien continué d'utiliser mes regexps mais là j'avoue que je calle un peu et je ne sais pas trop comment faire...
Si quelqu'un a une idée..
Merci d'avance
Partager