1 pièce(s) jointe(s)
Parser une page html en VB
Bonjours à tous
Pour introduire ma demande je vais vous expliquer pourquoi je souhaites parser une page web.
Je joue fréquemment au jeux de simulation War Thunder. Le jeux renvoie sur une page web tout un tas de donné concernant l'appareil qu'on pilote. C'est donné sont : le régime du moteur, la température et pression d'huile, l'altitude et j'en passe.
Le but est d'extraire certaine de ces données et de les transmettre plus tard à un arduino, qui ensuite fera tourner des servos moteurs.
La première étape consiste a extraire les données de la page web en parsant le code HTML avec un programme en VB.
Voici une capture d'écran de la page HTML
Pièce jointe 240834
J'ai commencé a créer mon programme en VB.
Pour expliqué rapidement mon programme, je lui demande de ce connecté à la page web et de récupérer l'id "ind-rpm" et de l'écrire dans un label.
Ce qui m’intéresse surtout c'est donc de récupérer la valeur rpm=0 (cette variable est mise à jour en temps réel en fonction du régime moteur demandé dans le jeux)
Point positif, c'est que lors du débogage il n'y pas d'erreur
Point négatif, c'est qu'il ne ce passe rien lorsque j’appuie sur le bouton dans mon programme
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Imports HtmlAgilityPack
Imports System.Xml.XPath
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim web As New HtmlWeb
Dim url As String = "http://x.x.x.x:8111"
' load du document html
Dim doc As HtmlDocument = web.Load(url)
' Selection des nodes XPATH
Dim MesNodes As HtmlNodeNavigator = doc.DocumentNode.CreateNavigator
Dim xmlNodeIterator As XPathNodeIterator = MesNodes.Select("//div[@id='ind-rpm']")
Dim rpm As String
While xmlNodeIterator.MoveNext()
' la ligne ce dessous me génére l'erreur...
rpm = xmlNodeIterator.Current.SelectSingleNode("rpm").Value
Label1.Text &= "test" & vbCrLf
Label1.Text &= rpm
End While
End Sub
End Class |
PS : Les X qui apparaissent à la ligne 6 du code masque mon adresse IP
Merci d'avance à ceux qui me liront