[gull] Python & HTLMParser module
Daniel Cordey
dc at mjt.ch
Thu Jan 31 12:46:03 CET 2008
Message destine aux Pythoniens :
En voulant automatiser un acces web, j'ai utilise le module HTMLParser de
Python pour extraire ce que je veux de la page html. Or, ce module s'ecrase
lamentablement en rencontrant le pattern suivant :
"....<script language=javascript>
if(window.yzq_p==null)document.write("<scr"+"ipt language=javascript
src=http://l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");..."
En fait, c'est la reconnaissance d'un end-tag qui pointe sur : </scr"+"ipt> !
La raison est liee a l'utilisation de RE pour parser de l'HTML (une aberration
a mes yeux; mais enfin...). Ceci engendre naturellement plein de problemes,
et tout modification d'une des regles rend les choses encore plus fragiles.
Quelqu'un connait-il un module Python plus robuste que celui-ci ? J'ai
redefini la methode parse_endtag() de la classe HTMLParser pour contourner ce
probleme, mais je ne trouve pas cela tres elegant... Quelqu'un a-t-il deja
rencontre ce genre de chose ? La page web incriminee est :
http://finance.yhaoo.com
dc
More information about the gull
mailing list