OBTER TEMPERATURA NA WEB
Pessoal me parece que existe uma forma de capturar da internet, determinadas informações como temperatura, tempo, etc...
Eu até pesquisei umas coisas e me deparei com [Ô]web services[Ô], e até tentei aplicar as informações em um programinha meu, mas sem resultados. Talvez eu não tenha entendido como usar.
Mas também possa ser que não seja o que eu estou procurando.
Existe alguma forma de eu capturar esses dados ? Alguém pode me dar uma luz ?
Agradeço;
Eu até pesquisei umas coisas e me deparei com [Ô]web services[Ô], e até tentei aplicar as informações em um programinha meu, mas sem resultados. Talvez eu não tenha entendido como usar.
Mas também possa ser que não seja o que eu estou procurando.
Existe alguma forma de eu capturar esses dados ? Alguém pode me dar uma luz ?
Agradeço;
Olá, se os dados estiverem no fonte pagina, sim é possivel.
Fonte do site Yahoo:
>BrasÃlia</a></h4><p class=[Ô]temp-f hide[Ô]><span class=[Ô]now[Ô]>81°F </span><span class=[Ô]high[Ô]>Alta 80° </span><span class=[Ô]low[Ô]>Baixa64°</span></p><p class=[Ô]temp-c[Ô]><span class=[Ô]now[Ô]>27°C </span><span class=[Ô]high[Ô]>Alta 27° </span><span class=[Ô]low[Ô]>Baixa18°</span></p></div></li><li><div class=[Ô]icon[Ô] style=[Ô]background-position: -6710px -4px;[Ô]>Parcialmente nublado</div>
Veja só, em BrasÃlia estão 27 graus celsios e 81 graus fahrenheit, é na class [Ô]now[Ô], mostra ainda a temperatura máxima e a mÃnima, e ainda diz que está [Ô]Parcialmente nublado[Ô], é pouco provável a queda de aguaceiros, mas em todo o caso é melhor andar com o guarda chuva atrás...
O que vc tem que fazer é filtrar o que lhe interessa...
pode fazer o download do fonte atraves da api URLDownloadToFile sem ter que usar o componente WebBrowser... como o WebBrowser também dá, mas demora mais tempo porque tem de carregar a pagina... usaria-se assim:
Procure também por HTML DOM, talvez veja este o caminho correcto a tomar.
Espero ter ajudado.
Fonte do site Yahoo:
>BrasÃlia</a></h4><p class=[Ô]temp-f hide[Ô]><span class=[Ô]now[Ô]>81°F </span><span class=[Ô]high[Ô]>Alta 80° </span><span class=[Ô]low[Ô]>Baixa64°</span></p><p class=[Ô]temp-c[Ô]><span class=[Ô]now[Ô]>27°C </span><span class=[Ô]high[Ô]>Alta 27° </span><span class=[Ô]low[Ô]>Baixa18°</span></p></div></li><li><div class=[Ô]icon[Ô] style=[Ô]background-position: -6710px -4px;[Ô]>Parcialmente nublado</div>
Veja só, em BrasÃlia estão 27 graus celsios e 81 graus fahrenheit, é na class [Ô]now[Ô], mostra ainda a temperatura máxima e a mÃnima, e ainda diz que está [Ô]Parcialmente nublado[Ô], é pouco provável a queda de aguaceiros, mas em todo o caso é melhor andar com o guarda chuva atrás...
O que vc tem que fazer é filtrar o que lhe interessa...
pode fazer o download do fonte atraves da api URLDownloadToFile sem ter que usar o componente WebBrowser... como o WebBrowser também dá, mas demora mais tempo porque tem de carregar a pagina... usaria-se assim:
TmpString = WebBrowser1.Document.body.innerHTML
Procure também por HTML DOM, talvez veja este o caminho correcto a tomar.
Espero ter ajudado.
Obrigado GANDA_NICK.
Próprio GANDA ou mais alguém sabe me dizer algo mais sobre HTML DOM ?
Um programinha simples só para que eu entenda o que tenho de digitar e onde ?
Agradeço;
Próprio GANDA ou mais alguém sabe me dizer algo mais sobre HTML DOM ?
Um programinha simples só para que eu entenda o que tenho de digitar e onde ?
Agradeço;
Ideia muito interessante de colocar estas informações dentro de qualquer aplicativo.
O cliente que usa o seu programa ficaria informado sobre as condições do tempo da sua cidade.
Isto cria uma dependencia maior para o seu soft
Isso mesmo Robson. Mas não tenho idéia de como começar cara. Se você souber como usar essas sugestões do Ganda, me ajude por favor.
Olá,
Veja este code:
o exemplo do botao1 é mais rápido, tem que referenciar: [Ô]microsoft html object library[Ô] e [Ô]microsoft xml, v6.0[Ô]
no exemplo do botao2 só tem que referenciar [Ô]microsoft html object library[Ô].
Não sei se será esta a maneira mais simples de fazer que pretende... se gostar é só fazer o filtro (manipulação de strings), se precisar de ajuda para o filtro diga e mostre o que já fez!!
Veja este code:
Option Explicit
Private Declare Function GetTickCount Lib [Ô]kernel32[Ô] () As Long
Private Sub Command1_Click()
Dim lStart As Long
lStart = GetTickCount
Dim obj As MSXML2.ServerXMLHTTP
Set obj = New MSXML2.ServerXMLHTTP
obj.open [Ô]GET[Ô], [Ô]http://br.tempo.yahoo.com/[Ô]
obj.send
[ô]se ocorreu um erro HTTP
If obj.Status >= 400 And obj.Status <= 505 Then
MsgBox [Ô]Erro Ocorrido : [Ô] & obj.Status & [Ô] - [Ô] & obj.statusText
Else
Dim objDocument As MSHTML.HTMLDocument
Set objDocument = New MSHTML.HTMLDocument
objDocument.body.innerHTML = obj.responseText
Call Filtrar(objDocument.body.innerText)
Set objDocument = Nothing
End If
Set obj = Nothing
Label1.Caption = GetTickCount - lStart
End Sub
Private Sub Command2_Click()
Dim lStart As Long
lStart = GetTickCount
Dim objHTML1 As New MSHTML.HTMLDocument
Dim objHTML2 As MSHTML.HTMLDocument
Set objHTML2 = objHTML1.createDocumentFromUrl([Ô]http://br.tempo.yahoo.com/[Ô], [Ô]null[Ô])
Do Until objHTML2.readyState = [Ô]complete[Ô]
DoEvents
Loop
Call Filtrar(objHTML2.body.innerText)
Label1.Caption = GetTickCount - lStart
End Sub
Private Sub Filtrar(ByVal sHTML As String)
Dim i As Integer
Dim arrHTML() As String
arrHTML = Split(sHTML, vbCrLf)
For i = 0 To UBound(arrHTML)
If InStr(1, arrHTML(i), [Ô]Procurar Reports Tempo[Ô]) <> 0 Then
[ô]Faça seu filto aqui
Exit For
End If
Next [ô]i
For i = 0 To UBound(arrHTML)
Debug.Print arrHTML(i)
Next [ô]i
End Sub
o exemplo do botao1 é mais rápido, tem que referenciar: [Ô]microsoft html object library[Ô] e [Ô]microsoft xml, v6.0[Ô]
no exemplo do botao2 só tem que referenciar [Ô]microsoft html object library[Ô].
Não sei se será esta a maneira mais simples de fazer que pretende... se gostar é só fazer o filtro (manipulação de strings), se precisar de ajuda para o filtro diga e mostre o que já fez!!
Valeu Ganda mas me apontam alguns erros em tempo de projeto.
A biblioteca [Ô]microsoft html object library[Ô] eu achei como [Ô]microsoft scriptlet component[Ô] , mas microsoft xml, v6.0 não achei.
Meu vb é 2008.
Alguém sabe onde acho isso para escolher ?
A biblioteca [Ô]microsoft html object library[Ô] eu achei como [Ô]microsoft scriptlet component[Ô] , mas microsoft xml, v6.0 não achei.
Meu vb é 2008.
Alguém sabe onde acho isso para escolher ?
vc postou sua duvida no forum de [txt-color=#e80000]VB6[/txt-color]
esse code é de vb6
em vb.net não sei, edite o tópico e mude a Compatibilidade para [txt-color=#e80000]VB.NET[/txt-color], ou encerre este e crie um novo para vb.net
esse code é de vb6
em vb.net não sei, edite o tópico e mude a Compatibilidade para [txt-color=#e80000]VB.NET[/txt-color], ou encerre este e crie um novo para vb.net
Obrigado Ganda
Tópico encerrado , respostas não são mais permitidas