Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

criacaoi7

Capturar informações de concurso de um site.

Recommended Posts

Boa tarde pessoal,

 

Gostaria de capturar deste site, http://www.consesp.com.br/index.php?hp=IA os concursos que estão abertos, quero capturar apenas estas informações:

 

PREFEITURA DO MUNICÍPIO DE ARAÇATUBA - SP

CONCURSO PUBLICO - 04-01/2008

 

procurei na net, google, etc, sobre XMLHTTP e encontrei aqui no imasters um exemplo de um código que captura a previsão do tempo de um site. O código é bem legalzinho, mas eu nem faço idéia de como tranformar esse código no código para capturar os dados que preciso.

 

Gostaria da ajuda de vocês.

 

O modelo do código que captura a previsão do tempo é este, testei e está funcionando:

 

<%option explicit %>
<%
Dim StrUrl, strCorpo, strTemperatura, StrSensacao, StrImagem, StrClima, StrCidade
Dim arr, arrTemperatura, ArrClima, ArrImagem, ArrSensacao, ArrCidade
Dim objXMLHTTP, strXmlHttp
StrUrl = "http://br.weather.com/weather/local/BRXX0109" 'url da cidade desejada			
Set objXMLHTTP = CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.open "get", StrUrl,false		
objXMLHTTP.send
strXmlHttp = objXMLHTTP.responseText
set objXMLHTTP = nothing

function limpa(str)
	Dim var
	var = replace(trim(str),"""","")	
	var = replace(var,">","")
	var = replace(var,"xt","")	
	var = replace(var,"TeT","T")	
	var = replace(var,"Text","")	
	var = replace(var,"OP","")	
	var = replace(var,"Sensação de ","")		
	limpa=var
end function


'Array global para pegar apenas a tabela que contem as informações desejadas
arr=split(strXmlHttp,"<!-- insert reported by and last updated info -->")
strCorpo = mid(arr(1),1,6300)

'obtendo nome da cidade
arrCidade = split(strCorpo,",")
StrCidade = limpa(mid(arrcidade(0),55,100))


arr=split(strXmlHttp,"<!-- Begin Main Content Here-->")
strCorpo = mid(arr(1),110,900)
'StrTemperatura = mid(strCorpo,360,13) 'teste para capturar o ponto inicial

'Obtendo a temperatura
ArrTemperatura = mid(strCorpo,356,20)
ArrTemperatura = split(ArrTemperatura,"<")
StrTemperatura = limpa(ArrTemperatura(0))

'Obtendo clima
StrClima = mid(strCorpo,520,300)
ArrClima = split(StrClima,"<")
StrClima = limpa(ArrClima(0))

'obtendo sensação térmica
StrSensacao = mid(strCorpo,550,300)
ArrSensacao = split(StrSensacao,"<")
StrSensacao = limpa(ArrSensacao(0))

'obtendo sensação imagem
StrImagem = mid(strCorpo,1,330)
ArrImagem = split(StrImagem,">")
StrImagem = limpa(ArrImagem(3))&">"

Response.Write(StrCidade)
Response.Write("<br>")
Response.Write("Temperatura: "& StrTemperatura)
Response.Write("<br>")
Response.Write("Clima: "& StrClima)
Response.Write("<br>")
Response.Write("Sensação térmica: "& StrSensacao)
Response.Write("<br>")
Response.Write(StrImagem)
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e isso é ASP ne?!

Tenta postar no forum de lá..

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois é amigo, você mesmo já se deu a solução.

 

basta usar esse modelo e fazer a limpa do html que não quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente faça o que voce sugeriu criacaoi7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não ajudou nada os comentários, justamente postei o código que peguei aqui pois gostaria de entendê-lo e assim modifcando, testando, modificando, até atingir o resultado satisfatório. Não compreendo como capturar os campos, tenho que saber o nome do campo ou invento isso... não compreendi o modelo que postei aqui... entenderam....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você utiliza um componente HTTP (ex. XMLHTTP) você consegue armazenar todo o html da página requisitada em uma variável.

 

Utilizando as funções MID, LEFT, INSTR, RIGHT você consegue "navegar" no código armazenado na variável até encontrar o que você quer.

 

O código que você postou faz isso, ele vai separando o código até encontrar o que você quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal comecei a trabalhar nessa página e gostaria de compreender este atual código em partes.

 

Já inseri o endereço que eu quero capturar, baseado no código acima.

http://www.consesp.com.br/index.php?hp=IA

 

As Dúvidas:

 

Neste código atual:

'Array global para pegar apenas a tabela que contem as informações desejadas
arr=split(strXmlHttp,"<!-- insert reported by and last updated info -->")
strCorpo = mid(arr(1),1,6300)

'obtendo nome da cidade
arrCidade = split(strCorpo,",")
StrCidade = limpa(mid(arrcidade(0),55,100))

O autor cita pegas apenas a tabela que contém as informações, no meu caso a tabela que lista os concursos, mas como saberei as informações do corpo da tabela, como saberei as dimensões da tabela?

 

Na parte debaixo ele captura o nome da cidade e no meu caso será o concurso, como trato essas informações?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.