Ir para conteúdo

POWERED BY:

Arquivado

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

Alvernaz

Capturar dados de uma página

Recommended Posts

olá galera, estou com um problema e quero ver se podem me ajudar.

 

Tenho uma página ( http://www.wimoveis.com.br/meus_imoveis.aspx?publicador=10722&negocio=V&tipo=6&ordem=F ) e como podem ver essa página tem uma tabela com alguns dados, acontece q a empresa não me repassa os dados em arquivo, seja xml, xls, doc, txt ou qualquer coisa.

 

então queria saber da possibilidade de se capturar os dados dessa tabela e coloca-la em um banco de dados seja mysql, access, excel, txt ou até xml desde que eu possa ler esses dados e se necessário regravar, pois os dados podem mudar...

 

consegui transformar a página acima em asp ( http://www.testasite.com.br/teste.asp ) mas capturar os dados não consegui nada concreto.

 

ja fucei na net tudo quanto foi dica e não achei nada... será que alguem tem uma idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá vai uma idéia de gambiarra:

Transforme em txt, faça um tratamento via ASP lendo este txt mas somente o que for importante.

Vasculhando seu código percebi que cada linha dessa tabela tem a seguinte estrutura:

 

		<TR class="Pesquisa_TD" onMouseOver="javascript:this.style.backgroundColor='CCCCCC'" style="cursor:hand" onMouseOut="javascript:this.style.backgroundColor=''">
			<TD align="left"><a href='venda_imovel.aspx?guid=280F07AF-7BED-4D83-9347-B83A471BF5F3&sem_banner=1' target="_blank">QI 31 LOTE 09 <A /></TD>
			<TD><a href='venda_imovel.aspx?guid=280F07AF-7BED-4D83-9347-B83A471BF5F3&sem_banner=1' target="_blank"><img src="images/camera.gif" alt="Foto" ><A /></TD>
                        <TD><a href='venda_imovel.aspx?guid=280F07AF-7BED-4D83-9347-B83A471BF5F3&sem_banner=1' target="_blank">GUARA<A /></TD>
			<TD><a href='venda_imovel.aspx?guid=280F07AF-7BED-4D83-9347-B83A471BF5F3&sem_banner=1' target="_blank">GUARA II<A /></TD>
			<TD><a href='venda_imovel.aspx?guid=280F07AF-7BED-4D83-9347-B83A471BF5F3&sem_banner=1' target="_blank">2<A /></TD>
			<TD align="right" style="padding: 0 20px 0 20px;"><a href='venda_imovel.aspx?guid=280F07AF-7BED-4D83-9347-B83A471BF5F3&sem_banner=1' target="_blank"><label style="float:left"></label>215.000,00<A/></TD>
		</TR>

Se esse código acima não for mudar em geral, você pode tentar usar um loop pra percorrer o txt e pensar em algum tratamento envolvendo o posicionamento desse código com uso de arrays.

De repente é uma forma meio gambiarrística de ler essa página. Imagino que deve ter outras formas, inclusive talvez algum componente para isso, mas foge do meu conhecimento.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estava tentando transformar a página em xml, mas estou dando uma pesquisada e não achei nada ainda, não teria uma maneira de transformar essa página em xml e depois o xml inserir em um banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar XHTTP, existem alguns exemplos no lab. de scripts, dê uma pesquisada , k você consegue

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como Capturar uma página

 

 

<%
    Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
    objXmlHttp.open "GET", "http://www.sua_pagina.com/", False
    objXmlHttp.send

        if objXmlHttp.status = 200 then
            ' Retornar código cabeçalho deve ser igual a 200
            strHTML = objXmlHttp.responseText
            response.Write(Server.HTMLEncode(strHTML))
            else
            ' Existe um erro
            response.Write("Erro : " & objXmlHttp.statusText)
            end if
        Set objXmlHttp = Nothing
    %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz um codigo parecido

 

 

<body>

<%

Function BinaryToString(xBinary)

 

Dim Binary

Dim RS, LBinary

 

If VarType(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary

Const adLongVarChar = 201

Set RS = CreateObject("ADODB.Recordset")

LBinary = LenB(Binary)

 

If LBinary>0 Then

RS.Fields.Append "mBinary", adLongVarChar, LBinary

RS.Open

RS.AddNew

RS("mBinary").AppendChunk Binary

RS.Update

BinaryToString = RS("mBinary")

Else

BinaryToString = ""

End If

 

Set RS=Nothing

 

End Function

Function MultiByteToBinary(MultiByte)

 

Dim RS, LMultiByte, Binary

Const adLongVarBinary = 205

 

Set RS = CreateObject("ADODB.Recordset")

LMultiByte = LenB(MultiByte)

 

If LMultiByte>0 Then

RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte

RS.Open

RS.AddNew

RS("mBinary").AppendChunk MultiByte & ChrB(0)

RS.Update

Binary = RS("mBinary").GetChunk(LMultiByte)

End If

 

Set RS = Nothing

MultiByteToBinary = Binary

 

End Function

 

dim objXMLHTTP

Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")

Url = "http://www.wimoveis.com.br/meus_imoveis.aspx?publicador=10722&negocio=V&tipo=6&ordem=F"

objXMLHTTP.Open "GET", URL, FALSE

objXMLHTTP.Send

sai=objXMLHTTP.responsebody

set objXMLHTTP=nothing

response.write BinaryToString(sai)

%>

</body>

 

 

aparece nesse link http://www.testasite.com.br/teste.asp

 

o que me enviou aparece nesse http://www.testasite.com.br/teste1.asp

 

a questão agora e jogar esses dados da tabela em xml, excel ou txt para que eu possa capturar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode até usar o MID e INSTR para pegar apenas a parte do code k deseja

mas dá uma procurada no lab. de script k tem oitros exemplos pode te ajudar

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.