Discussion:
parser un page HTML
(trop ancien pour répondre)
Etienne SOBOLE
2007-07-30 16:44:10 UTC
Permalink
Salut j'ai besoin de récuperer l'arborescence du page HTML.
donc il faudrait que je la transforme en un XML valide.
etes-ce que quelqu'un a une idée de comment faire ca???

merci.
Etienne
Jean-Francois Ortolo
2007-07-30 18:06:28 UTC
Permalink
Post by Etienne SOBOLE
Salut j'ai besoin de récuperer l'arborescence du page HTML.
donc il faudrait que je la transforme en un XML valide.
etes-ce que quelqu'un a une idée de comment faire ca???
merci.
Etienne
Bonjour Monsieur

Je suis désolé de vous mettre l'eau à la bouche.

J'ai programmé pour les besoins de mon site ( voir signature ), une
librairie de parsing HTML, dont les apis sont strictement équivalentes à
celles de la librairie native XML sous PHP, mais sans erreurs à
l'exécution, quis seraient dues à des mauvais formattages xml ou html.

Quand on y pense, la programmation de cette librairie est évidente,
puisqu'il suffit de traiter au fur et à mesure, des portions de chaînes
de caractères, de les concaténer, d'en extraire ce qui est entre les
balises, à l'intérieur des balises et tutti quanti...

A la rigueur, je pourrais si je voulais, la laisser sur mon site sous
license GPL, mais j'ai tellement peur que l'on se l'approprie pour après
me faire des misères ( je suis un peu parano ), que je ne veux pas le
faire. J'ai donc décidé de garder la connaissance et l'exclusivité de ma
librairie.

Cependant, compte tenu du fait qu'en Informatique, tout est déjà fait
( en mieux ), vous devriez pouvoir trouver une telle librairie
facilement sur Google, gratuite et license GPL... Vous pariez combien ? ;)

Rien que sur Framasoft, je vous fiche mon billet que vous ne mettrez
pas plus de 3 minutes, pour trouver votre bonheur.

Bien à vous.

Amicalement.

Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com
Denis Beauregard
2007-07-30 19:32:07 UTC
Permalink
Post by Etienne SOBOLE
Salut j'ai besoin de récuperer l'arborescence du page HTML.
donc il faudrait que je la transforme en un XML valide.
etes-ce que quelqu'un a une idée de comment faire ca???
Parlez-vous de l'arborescence des balises ou des pages ?

Dans le 1er cas, on a 2 situations : HTML valide ou non.

Si on prend pour acquis que le HTML est valide, il suffit
de regarder les balises au fur et à mesure et d'avancer ou
reculer d'un pas dans la hiérarchie en notant dans un tableau
ce qui est ouvert.

Par exemple : <head> on monte de 1 et on note que le niveau
courant est un <head>. </head> on vérifie si le niveau courant
est bien un <head> et on descend de 1.

Comme sortie, cela dépend de ce que vous voulez. Par exemple,
un tableau en 2 colonnes, la 1re étant la pile au complet et
la 2e, ce qui suit la balise courante.

Ceci dit, quel est le but ? Il doit bien y avoir des outils qui
font déjà ce que vous voulez. Par exemple, il suffit de trouver
le source de n'importe quel navigateur, mais là, on n'est plus en
PHP du tout. Au fait, pourquoi poser la question dans un forum
dédié au PHP ?

Si vous disiez ce que vous voulez faire, peut-être que quelqu'un
pourrait suggérer un outil existant.


Denis
Etienne SOBOLE
2007-07-31 07:38:11 UTC
Permalink
Post by Denis Beauregard
Si vous disiez ce que vous voulez faire, peut-être que quelqu'un
pourrait suggérer un outil existant.
bien c'est assez simple!
je cherche a isoler une partie d'une page en fonction de son id.

en gros on suppose qu'a un endroit dans ma page web j'ai
<xx id='toto'>
...
...
</xx>

je souhaite récupérer le contenu de l'arborescence a partir de cette balise
!

Etienne
xav
2007-07-31 15:52:55 UTC
Permalink
Post by Etienne SOBOLE
bien c'est assez simple!
je cherche a isoler une partie d'une page en fonction de son id.
en gros on suppose qu'a un endroit dans ma page web j'ai
<xx id='toto'>
...
...
</xx>
je souhaite récupérer le contenu de l'arborescence a partir de cette balise
!
Salut,
pour être sur de la validité syntaxique du html à analyser, il faut
passer par un outil comme Tidy , tu peut éventuellement passer le html
source par un outil genre HTMLPurifier ( http://htmlpurifier.org/ ) ,
une fois cela effectué, tu auras du xhtml propre, tu peut ensuite
utiliser du xpath dessus pour récupérer le morceau d'arbo que tu veux.


my 2 cents

Xavier
Rakotomandimby (R12y) Mihamina
2007-08-01 16:24:13 UTC
Permalink
Post by xav
pour être sur de la validité syntaxique du html à analyser
Je ne comprends pas pourquoi lui proposer ça.
A la limite, une recherche par expressions regulières de la chaine
id="toto"
puis ensuite de
</>
devrait suffire.

Non?
--
"C'est très facile d'avoir des idées de partage quand on n'a rien."
Patrice KARATCHENTZEFF
Etienne SOBOLE
2007-08-02 09:39:25 UTC
Permalink
Post by Rakotomandimby (R12y) Mihamina
id="toto"
puis ensuite de
</>
devrait suffire.
Ben non pas vraiment j'ai pas dit qu'il n'y avait pas d'autres balises au
milieu de ce que je cherche.
mais finalement, j'ai installe Tidy 2.0 c'est tres bien... ca marche nickel.

Etienne

Thief13
2007-07-31 15:52:55 UTC
Permalink
Post by Etienne SOBOLE
Salut j'ai besoin de récuperer l'arborescence du page HTML.
donc il faudrait que je la transforme en un XML valide.
Si c'est du xHTML valide, étant donné que le xHTML est du XML, toute les
fonction de parsing XML de php marcheront (PHP DOM, phpsimplexml, sax...)
Continuer la lecture sur narkive:
Loading...