Comment naviguer dans une page HTML pour extraire des infos en VB6
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013
-
19 sept. 2011 à 14:45
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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