Comment naviguer dans une page HTML pour extraire des infos en VB6

cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 février 2013 - 19 sept. 2011 à 14:45
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 19 sept. 2011 à 18:03
Bonjour,

Je doit récupérer des informations contenu dans une page html.

Actuellement j'ai fait mes essaies avec WebBrowser, sachant que la page web sera cachée, mon but est uniquement de récupérer les données et les afficher.
J'ai trouvé quelque bride de l'utilisation de winhttp, mais je n'est pas réussi à l'utilisé

Voici ma page Html:

<html>
<head>
    <meta http-equiv= "content-type" content="text/html; charset=utf-8">
    <link rel="stylesheet" href="/style.css" type="text/css" />
</head>



012402G291      



 État de l'onduleur:  |
,

----

Production actuelle: |
0 W,
,

----

Production du jour: |
0 Wh,
,

----

,

----

Revenu total: |
-,
,

----

Economies totales de CO2: |
0.0 kg,
,

----

Rapport de performance: |
-,
,

----

Production totale: |
0.0 Wh,
,

----

 |
,
,

----

Réglage du niveau de puissance: |
100.0 %



</html>


Il faut par exemple que je récupère "Production actuelle" et donc la valeur associée est ici de "0 W"
Idem pour "Production du jour" qui est de "0 Wh" dans l'exemple et pour "Economies totales de CO2" C'est mes 3 valeurs que j'ai besoin.

Actuellement pour accéder à ma page web qui contient les info, je me logue par:
h t t p ://MonIp/cgi-bin/handle_login.tcl'user =admin&pw=admin

J'arrive sur une page m'affichant ce que j'ai besoin mais contenu dans un cadre.
Pour accéder au cadre je doit récupérer le numéro de connexion sid contenue dans l'adresse de la page ouverte.
Puis je navigue vers
h t t p://MonIp/cgi-bin/overview.tcl?sid=monnumerosid

Ce qui me donne la page html ci dessus.

Y a t'il un moyen de naviguer rapidement dans le fichier Html (un peut comme avec le XML)? Pour accéder rapidement aux données que j'ai besoin

Voici mon code de ma classe clsWeb pour le moment ou Connexion me renvoie la page html:
Option Explicit

Private Adr As String
Private id As String
Private Pw As String
Private Sid As String

Public Function Connexion(ByVal Navi As WebBrowser, ByVal IP As String, _
                    ByVal MonId As String, ByVal MonPw As String) As String 'return la page
    Dim log As String
    Dim str As String
    Dim Adrs() As String
    
    Adr = IP
    id = MonId
    Pw = MonPw
    log = "http://" & Adr & "/cgi-bin/handle_login.tcl'user=" & id & "&pw=" & Pw
    Navi.Navigate log
    ' Attendre la réponse
    Do Until Navi.ReadyState = READYSTATE_COMPLETE
        DoEvents
    Loop
    str = Navi.LocationURL
    Adrs = Split(str, "=")
    Sid = Adrs(1)
    log = "http://" & Adr & "/cgi-bin/overview.tcl?sid=" & Sid
    Navi.Navigate log
    Do Until Navi.ReadyState = READYSTATE_COMPLETE
        DoEvents
    Loop
    Connexion = Navi.Document.body.parentElement.innerHTML

End Function

Public Sub Deconnexion(ByVal Navi As WebBrowser)
    Dim log As String
    log = "http://" & Adr & "/cgi-bin/logout.tcl?sid=" & Sid
    Navi.Navigate log
    Do Until Navi.ReadyState = READYSTATE_COMPLETE
        DoEvents
    Loop
End Sub


merci de votre aide



------------------------------------------------------------------
. . Technicien électrotechnique --> Informaticien industriel
. . . . . BAC Pro EIE . --> 20Ans après --> . BTS IRIS
. . . . . . . . .--> . . . . --> . .
----

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 sept. 2011 à 18:03
Salut

Ce que tu cherches s'appelle un "parser html"
En tapant ces mots dans la recherche, tu auras des exemples.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous