Récupérer des variables à partir d'une page HTML

Le
bblanc22
Bonjour,

J'ai besoin de beaucoup d'aide car je ne
maitrise pas du tout l'HTML (Je travail sous visual studio 2008 en c
++)

J'ai un script qui interroge un site web et sauvegarde la reponse
au format HTML.

Maintenant, je doit recuperer les infos de cette page web pour
les mettre dans des variables dont je pourrais me servir plus tard

si quelqu'un peut m'aider

Merci d'avance ;=)!!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michael Doubez
Le #19622371
On 23 juin, 12:07, bblanc22
Bonjour,

J'ai besoin de beaucoup d'aide car je ne
maitrise pas du tout l'HTML
... (Je travail sous visual studio 2008 en c
++)



Pas HTML ET sous Visual ? C'est effectivement multiplier les facteurs
de risque :)

J'ai un script qui interroge un site web et sauvegarde la reponse
au format HTML.



Un script ?
Ou un programme ?

Maintenant, je doit recuperer les infos de cette page web pour
les mettre dans des variables dont je pourrais me servir plus tard...



Des variables en C++ je suppose ?

Une solution simple, si tu as une partie en script est de parser dans
le script sous une forme que ton programme c++ comprendra. C'est plus
souple, plu facile à debugger et à developper.

Sinon, ça dépend de la complexité de ce qu'il y a à parser: parseur (X/
HT)ML ou regex.

--
Michael
pjb
Le #19622361
bblanc22
Bonjour,

J'ai besoin de beaucoup d'aide car je ne
maitrise pas du tout l'HTML... (Je travail sous visual studio 2008 en c
++)

J'ai un script qui interroge un site web et sauvegarde la reponse
au format HTML.

Maintenant, je doit recuperer les infos de cette page web pour
les mettre dans des variables dont je pourrais me servir plus tard...

si quelqu'un peut m'aider ...



Dans ce cas, il faut utiliser une bibliothèque pour parser l'HTML et
naviger dans l'arbre ainsi produit.


Si c'est du XML (XHTML), on peut utiliser libxml2 : http://xmlsoft.org/
ou expat : http://expat.sourceforge.net/
ou QtDOM : http://doc.trolltech.com/4.4/qdomdocument.html

Sinon comme parseur HTML simple on peut utiliser : http://www.w3.org/Library/src/HTML.html
http://www.w3.org/Library/User/Architecture/
ou wxHTML: http://docs.wxwidgets.org/2.6/wx_wxhtml.html

--
__Pascal Bourguignon__
Fabien LE LEZ
Le #19622551
On Tue, 23 Jun 2009 04:53:59 -0700 (PDT), Michael Doubez

Pas HTML ET sous Visual ? C'est effectivement multiplier les facteurs
de risque :)



Visual C++ 2008 est un bon compilateur C++. Il est juste trop vieux
pour intégrer les modifications apportées par C++0x.
Fabien LE LEZ
Le #19622631
On Tue, 23 Jun 2009 03:07:47 -0700 (PDT), bblanc22

Maintenant, je dois recuperer les infos de cette page web pour
les mettre dans des variables dont je pourrais me servir plus tard...



Attention, il y a fort à parier que ton programme d'extraction de
données ne fonctionnera pas très longtemps : la mise en page d'un site
a tendance à changer assez souvent.

Quand j'ai un truc de ce goût-là à faire, je regarde où les
informations qui m'intéressent, et à quoi ressemblent les lignes en
question ; puis je ponds les regex correspondantes.

La solution de Pascal (parser le code HTML et essayer d'en tirer les
infos) est sans doute à creuser si la solution bourrin n'est pas
suffisante.
Yann Renard
Le #19622741
Fabien LE LEZ wrote:
On Tue, 23 Jun 2009 03:07:47 -0700 (PDT), bblanc22

Maintenant, je dois recuperer les infos de cette page web pour
les mettre dans des variables dont je pourrais me servir plus tard...



Attention, il y a fort à parier que ton programme d'extraction de
données ne fonctionnera pas très longtemps : la mise en page d'un site
a tendance à changer assez souvent.

Quand j'ai un truc de ce goût-là à faire, je regarde où les
informations qui m'intéressent, et à quoi ressemblent les lignes en
question ; puis je ponds les regex correspondantes.

La solution de Pascal (parser le code HTML et essayer d'en tirer les
infos) est sans doute à creuser si la solution bourrin n'est pas
suffisante.



L'hypothèse optimiste, c'est qu'il a la maîtrise sur la génération du
code HTML, et dans ce cas, il peut choisir un formatage pratique à
parser... Si ce n'est pas le cas, l'option sage serait de contacter
celui qui a la maîtrise du site web s'il peut générer quelque chose d'un
tant soit peu parsable par une machine quitte à passer par une autre
page dédiée.

Juste pour gagner du temps :)

Yann
Sylvain SF
Le #19622731
Fabien LE LEZ a écrit :
On Tue, 23 Jun 2009 04:53:59 -0700 (PDT), Michael Doubez

Pas HTML ET sous Visual ? C'est effectivement multiplier les facteurs
de risque :)



Visual C++ 2008 est un bon compilateur C++. Il est juste trop vieux
pour intégrer les modifications apportées par C++0x.



trop vieux ?!? c'est près 1 an, presque 2 déjà, c'est complètement
has been, mais pour le coup tu as oublié de mentionner le nom du
compilo sorti la semaine dernière qui lui serait "sans risque".


sinon, l'extraction automatisée de données provenant de pages web
est généralement interdite par le droit d'auteur de ces sites
(cela passe pour les moteurs de référencement, ce n'est pas le
cas pour extraire des données financières, météorologiques ou
autres données "instantanées" qui sont très vraisemblablement
en cause ici).

Sylvain.
Sylvain SF
Le #19622761
Yann Renard a écrit :

L'hypothèse optimiste, c'est qu'il a la maîtrise sur la génération du
code HTML



la réalité décrite est il ne "maitrise pas du tout l'HTML".

Si ce n'est pas le cas, l'option sage serait de contacter celui
qui a la maîtrise du site web s'il peut générer quelque chose d'un
tant soit peu parsable par une machine quitte à passer par une autre
page dédiée.



oui, je me demande pourquoi cela ne fut pas la première piste
tentée, serait-ce parce que les données sont recueillies contre
l'accord des sites.

Juste pour gagner du temps :)



sur, s'il ne sait pas si les données sont explicitement et clairement
taggées (dans un tableau fixe ou via un style propre) ou si elles sont
générées par un JS obfuscateur ou encore affichées par flash, il y a
moyen de perdre du temps.

SF.
pjb
Le #19622831
Sylvain SF
Fabien LE LEZ a écrit :
On Tue, 23 Jun 2009 04:53:59 -0700 (PDT), Michael Doubez

Pas HTML ET sous Visual ? C'est effectivement multiplier les facteurs
de risque :)



Visual C++ 2008 est un bon compilateur C++. Il est juste trop vieux
pour intégrer les modifications apportées par C++0x.



trop vieux ?!? c'est près 1 an, presque 2 déjà, c'est complètement
has been, mais pour le coup tu as oublié de mentionner le nom du
compilo sorti la semaine dernière qui lui serait "sans risque".


sinon, l'extraction automatisée de données provenant de pages web
est généralement interdite par le droit d'auteur de ces sites
(cela passe pour les moteurs de référencement, ce n'est pas le
cas pour extraire des données financières, météorologiques ou
autres données "instantanées" qui sont très vraisemblablement
en cause ici).



Bon, ce n'est pas fr.comp.legal, mais c'est toi qui a commencé.

À quoi bon publier des données si c'est pour en interdir le traitement.

Je serais plutôt pour pousser une loi qui au contraire interdirait de
publier une donnée ou un flux de donnée(*) si elle ne peut pas être
facilement traitée informatiquement (ce qui signifie que le format des
données soit aussi public). (C'est une loi qui de fait abolirait le
DRM).

(Et la répétition d'une émission de TV sur la météo, donnant tout les
jours une donnée de la même série devrait être considérée comme un
flux de donnée, et donc les TV devraient fournir une version
informatique des données météos qu'elles diffusent avec une jolie
minette (ce qui ne devrait pas poser de problème avec la TNT ou la TV
par ADSL, etc)).

--
__Pascal Bourguignon__
Sylvain SF
Le #19623191
Pascal J. Bourguignon a écrit :

Bon, ce n'est pas fr.comp.legal, mais c'est toi qui a commencé.



en effet, donc réponse courte pour en rester là.

Je serais plutôt pour pousser une loi qui au contraire interdirait de
publier une donnée ou un flux de donnée(*) [...]



s'il s'agissait d'un flux de données (RSS ou autres), ce fil
n'existerait pas (le format étant implicite). dans 100% des
cas où j'ai vu de telles questions poindre il s'agissait bien
de collecte / extraction "non autorisées" (par leurs auteurs).

SF.
Michael Doubez
Le #19625691
On 23 juin, 15:03, Fabien LE LEZ
On Tue, 23 Jun 2009 03:07:47 -0700 (PDT), bblanc22

>Maintenant, je dois recuperer les infos de cette page web pour
>les mettre dans des variables dont je pourrais me servir plus tard...

Attention, il y a fort à parier que ton programme d'extraction de
données ne fonctionnera pas très longtemps : la mise en page d'un sit e
a tendance à changer assez souvent.



D'où l'intérèt d'avoir une partie scripté qui fasse l'extraction de s
données en un format facilement utilisable sous C++.

En plus ça facilite le debugage.

Quand j'ai un truc de ce goût-là à faire, je regarde où les
informations qui m'intéressent, et à quoi ressemblent les lignes en
question ; puis je ponds les regex correspondantes.

La solution de Pascal (parser le code HTML et essayer d'en tirer les
infos) est sans doute à creuser si la solution bourrin n'est pas
suffisante.



Une autre solution est l'utilisation de html tidy pour transformer en
XHTML puis une translation XML (par xsltproc par exemple) pour généré
une forme sérialisée des données.

--
Michael
Publicité
Poster une réponse
Anonyme