Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

parser un page HTML

7 réponses
Avatar
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

7 réponses

Avatar
Jean-Francois Ortolo
Etienne SOBOLE wrote:
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

Avatar
Denis Beauregard
Le 30 Jul 2007 16:44:10 GMT, "Etienne SOBOLE"
écrivait dans fr.comp.lang.php:

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

Avatar
Etienne SOBOLE
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

Avatar
Thief13
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...)

Avatar
xav

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

Avatar
Rakotomandimby (R12y) Mihamina
xav - <46af093d$0$25931$ :

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

Avatar
Etienne SOBOLE
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