Originariamente inviato da Giz
Grazie, ho provato ma non ho trovato niente.
Credo però di non essermi spiegato bene, faccio un esempio di quello che vorrei fare:
supponiamo che nel mio programma mi interessi sapere la temperature di TORINO,
Vorrei aprire una pagina web che riporta le temperature delle città e senza visualizzare il sito vorrei cercare (ad esempio leggendo l'HTML ) la parola "TORINO" e la relativa temperatura prelevare quste due informazioni e copiarle in due etichette nel mio form.
Spero sia chiaro, grazie IZ1GIZ
Puoi fare cosi':
1) Cerchi una pagina web che ti dia l'informazione che ti serve, e ne memorizzi l'URL completo;
2) In un progetto VB, utilizzi il controllo WebBrowser: e' sotto il nome Microsoft Internet Controls (leggiti un po' di documentazione sul sito MS, al link http://msdn.microsoft.com/workshop/b...reflist_vb.asp
3) Col WebBrowser (inposta la proprieta' Silent a True !) raggiungi la pagina web, ne estrai il contenuto di puro testo con: WebBrowser1.Document.body.innertext, dopodiche' devi cercare di estrarre la singola informazione (la temperatura) dal testo dell'intera pagina (ad esempio cercando prima una stringa fissa sicuramente presente nella pagina, come ad esempio "Località: Torino", e proseguendo la ricerca da quel punto....)
Ovviamente la "logica" della ricerca varia in funzione dell'organizzazione della pagina web, quindi se dopo qualche tempo il sito viene modificato nella grafica o nel contenuto, si dovra' modificare il programma...
Col VB6, creando un nuovo progetto e aggiungendo un controllo Webbrowser e un CommandButton, il codice puo' essere, ad esempio, il seguente:
codice:
Option Explicit
Dim fine As Boolean
Private Sub Command1_Click()
Dim testo As String, p As Integer, cerca As String, i As Integer
Dim min As Integer, max As Integer
With WebBrowser1
.Silent = True
.Navigate "http://meteo.ansa.it/Regione.asp?Regione=12&Comune=001272"
Do
DoEvents
Loop Until fine
testo = .Document.body.innertext 'qui c'e' l'intera pagina web in forma di puro testo...
End With
'ora devi cercare SOLO quello che t'interessa....
cerca = "Torino"
p = InStr(1, testo, cerca)
If p Then
p = p + Len(cerca) ' da qui ci sono le temperature min e max.
i = 1
While Mid$(testo, p + i, 1) Like "#" 'una cifra
i = i + 1
Wend
min = Val(Mid$(testo, p, i))
p = p + i
i = 1
While Mid$(testo, p + i, 1) Like "#" 'una cifra
i = i + 1
Wend
max = Val(Mid$(testo, p, i))
MsgBox cerca & " : minima " & min & ", massima " & max
Else
MsgBox "Stringa: " & cerca & " NON TROVATA", vbCritical
End If
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
fine = True
End Sub
Prova un po'.... ricorda pero' che questo codice funziona cosi' com'e' SOLO su quell'URL, se vuoi ottenere i dati da un'altra pagina web dovrai modificare la parte di "estrazione" delle temperature...
Ciao !
P.S.: se non vuoi mostrare il controllo WebBrowser, NON puoi fare Visible=False, perche' il WB richiede di essere visibile per funzionare (ed avere Internet Explorer installato !), ma puoi impostare la larghezza del controllo a zero.