View Full Version : HTML & VB.NET
Antivirusvivente
21-09-2009, 21:26
Ciao a tutti, la mia richiesta è semplicissima, voglio solo copiare il contenuto di questa pagina web http://www.ilcalcio.net/classifica-serie-A.htm.. ovvero i match, ed i risultati, ed inserirli in una label, chiaramente sò già che bisogna scaricare il file in locale e aprirlo da li.. sapreste dirmi come fare a visualizzare le partite in questo modo?
Partita 1 - 0 Partita
Ciao a tutti, la mia richiesta è semplicissima, voglio solo copiare il contenuto di questa pagina web http://www.ilcalcio.net/classifica-serie-A.htm.. ovvero i match, ed i risultati, ed inserirli in una label, chiaramente sò già che bisogna scaricare il file in locale e aprirlo da li.. sapreste dirmi come fare a visualizzare le partite in questo modo?
Partita 1 - 0 Partita
Beh, proprio "semplicissima" non direi, dal momento che devi interpretare un codice HTML e non un doc XML ben formato.
Non è necessario scaricarsi il file in locale ( con relativi files grafici e il solito ciarpame web... ), e non è neppure necessario usare il WebBrowser, dato che devi solo leggerne il contenuto testuale. Personalmente risolverei anzitutto con una Regex opportuna che mi toglie dai piedi tutti i tags, e poi, ripulendo un po' l'output, ottengo una lista ordinata e ristretta di elementi utili... :
Dim linkHtml As String = "http://www.ilcalcio.net/classifica-serie-A.htm"
Dim WB As New System.Net.WebClient
Dim testoHtml As String = New System.Text.UTF8Encoding().GetString(WB.DownloadData(linkHtml))
testoHtml = System.Text.RegularExpressions.Regex.Replace(testoHtml, "<(.|\n)*?>", "")
Dim arrayTesto() As String = testoHtml.Split(" ")
Dim s As String = ""
For i As Integer = 0 To arrayTesto.Count - 1
s = arrayTesto(i)
For Each C As Char In s
If Not Char.IsLetterOrDigit(C) Then s = s.Trim(C)
Next
If s <> "" Then ListBox1.Items.Add(s)
Next
ListBox1 è a scopo di debug e rende l'idea...
A questo punto non è difficile estrarre partite e risultati... ;)
Antivirusvivente
22-09-2009, 16:02
Ciao, innanzitutto grazie per avermi risposto, ho posizionato il tuo codice nel form di avvio, però nonostante ciò.. il compilatore mi restituisce errore sulla stringa
For i As Integer = 0 To arrayTesto.Count - 1
Inoltre volevo capire come faccio a dire quale testo far leggere.. non so.. se mi potevi fare un esempio ancora più pratico.. non so se chiedo molto :D
Grazie in anticipo
Ciao, innanzitutto grazie per avermi risposto, ho posizionato il tuo codice nel form di avvio, però nonostante ciò.. il compilatore mi restituisce errore sulla stringa
For i As Integer = 0 To arrayTesto.Count - 1
Strano. Da me va perfettamente ( VB 2008 ). Tua versione di VB ? Che msg di errore è ?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.