Ir para conteúdo

Pergunta

 

 

Eu fiz utilizando o método de captar do webbrowser e passa para a listbox os dados que eu quero.

 

Funcionou certo em algum sites de imobiliárias, onde realmente tava trazendo apenas aqueles dados.

Porem quando tento usar para pegar do OLX os imoveis ele vem com muitos dados.

 

Aqui segue o codigo html que estou tentando pegar:

<div class="OLXad-details mb30px">

 

<div class="atributes">

<h4 class="title">Detalhes do imóvel</h4>

<ul class="list square-gray">

 

 

 

<li class="item">

<p class="text">

<span class="term">Tipo:</span>

<strong class="description">Aluguel - apartamento kitchenette</strong>

</p>

</li>

 

 

 

 

 

 

<li class="item">

<p class="text">

<span class="term">Área útil:</span>

<strong class="description">50 m²</strong>

</p>

</li>

 

<li class="item">

<p class="text">

<span class="term">Quartos:</span>

<strong class="description">1</strong>

</p>

</li>

 

 

<li class="item">

<p class="text">

<span class="term">Vagas na garagem:</span>

<strong class="description">1</strong>

</p>

</li>

 

</ul>

 

 

<div class="OLXad-features mt20px">

<p class="text">

<span>Características:</span>

<ul class="OLXad-features-list">

<li>Armários embutidos</li>

<li>Varanda</li>

<li>Área de serviço</li>

</ul>

</p>

</div>

 

 

</div>

 

</div>

<script type="text/javascript">

self.adParams = {

'real_estate_type': 'Aluguel - apartamento kitchenette',

'condominio': '',

'iptu': '',

'size': '50',

'rooms': '1',

'beds': '',

'garage_spaces': '1',

'features': ''

}

</script>

 

 

 

 

 

 

 

 

<div class="OLXad-location mb20px">

<div class="atributes">

<h4 class="title">Localização</h4>

 

<ul class="list square-gray">

 

<li class="item">

<p class="text">

<span class="term">Município:</span>

<strong class="description">

Vila Velha

</strong>

</p>

</li>

 

 

<li class="item">

<p class="text">

<span class="term">CEP do imóvel:</span>

<strong class="description">

29118-060

</strong>

</p>

</li>

 

 

<li class="item">

<p class="text">

<span class="term">Bairro:</span>

<strong class="description">

Alecrim

</strong>

</p>

</li>

 

</ul>

 

</div>

</div>

 

 

 

 

 

<div class="OLXad-id">

<p class="text">

<span class="term">Código do anúncio:</span>

<strong class="description">417138772</strong>

</p>

</div>

 

 

 

 

o Codigo que estou usando:

 

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            ListBox1.Items.Clear()
            Dim Tags(1) As String
            Tags(0) = "span"
            Tags(1) = "div"
            If Not IsNothing(WebBrowser1.Document) Then
                For Each _Tag As String In Tags
                    Dim elementos As IList(Of HtmlElement) = WebBrowser1.Document.GetElementsByTagName(_Tag).OfType(Of HtmlElement).ToList()
                    If Not IsNothing(elementos) Then
                        Dim elementosPesquisa As IList(Of HtmlElement) = _
                         elementos.Where(Function(w) w.OuterHtml.Contains("description")).ToList()
                        If Not IsNothing(elementosPesquisa) AndAlso elementosPesquisa.Count > 0 Then
                            For Each el As HtmlElement In elementosPesquisa
                                ListBox1.Items.Add(el.OuterText)
                            Next
                        End If
                    End If
                Next
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End Try
    End Sub

 

Alguém pode me ajudar?

 

Agradeço desde ja.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Thais Hoe
      Bom dia!
      Trabalho muito pouco com o JavaScript e preciso fazer um script que:
      Pega a localização do cliente >> Faz o calculo da distância entre a localização e cada loja >> Faz o calculo de qual loja está mais próxima (em KM) >> Se a distancia da loja mais próxima for inferior a 30km = Mostra aviso com o endereço da loja mais próxima (se possível um botão pra ir pra pagina de informações, ou um popup que consiga colocar endereço,telefone,etc)  >> Se a distancia da loja mais próxima for superior a 30km = exibe aviso de que não tem lojas próximas a localização atual dele.
       
      Fiz com "alert" os avisos, mas se eu conseguisse fazer tudo isso com um popup seria legal. Por hora coloquei duas lojas apenas, mas posteriormente vou ter que colocar mais de 10, então se houver um jeito de fazer esse código ser mais "limpo" quando isso acontecer (criando uma lista ou algo do gênero) também agradeço.
       
      Tenho um código mais ou menos pronto, mas como não domino a linguagem acredito que contém alguns erros:
      // Lojas var Americana = { posicao : { latitude1 : -22.742685, longitude1 : -47.341661 } } var BeloHorizonte = { posicao : { latitude2 : -19.935678, longitude2 : -43.970808 } } var Parametro = { distanciaMaxima : 30, // Funcao que ira verificar se o cliente esta por perto mostraLoja : function( posicao ){ var distancia = MenorDistancia; // Verifica se o cliente nao esta muito longe if( distancia <= this.distanciaMaxima ){ if ( confirm( 'A loja mais próxima está à ' + distancia + ' KM ' ) ){ alert( 'Ver mais dados da loja' ); } } else { alert( 'Ops, você está muito longe, não temos uma loja próxima' ); } } }; // Objeto localizacao var Localizacao = { // Inicia inicia : function(){ // Quando o browser retorna a posicao do usuario var sucesso = function( posicao ){ Parametro.mostraLoja( posicao.coords ); }; // Erro no processo de obter a posicao var erro = function( erro ){ var erroDescricao = 'Ops, '; switch( erro.code ) { case erro.PERMISSION_DENIED: erroDescricao += 'usuário não autorizou a Geolocation.'; break; case erro.POSITION_UNAVAILABLE: erroDescricao += 'localização indisponível.'; break; case erro.TIMEOUT: erroDescricao += 'tempo expirado.'; break; case erro.UNKNOWN_ERROR: erroDescricao += 'não sei o que foi, mas deu erro!'; break; } alert( erroDescricao ) }; // Verifica se o browser do usuario tem suporte a geolocation if ( navigator.geolocation ){ navigator.geolocation.getCurrentPosition( sucesso, erro ); } else { erro(); } } }; // Objeto para calcular a distancia entre dois pontos // Adaptado dessa formula http://stackoverflow.com/questions/27928/how-do-i-calculate-distance-between-two-latitude-longitude-points var Distancia1 = { distanciaEntreDoisPontos1 : function( pontoInicial, pontoFinal ){ var R = 6371; // Radio da Terra var dLat = this.graus2Radianos( pontoFinal.latitude - pontoInicial.latitude1 ); var dLon = this.graus2Radianos( pontoFinal.longitude - pontoInicial.longitude1 ); var a = Math.sin( dLat/2 ) * Math.sin( dLat/2 ) + Math.cos( this.graus2Radianos( pontoInicial.latitude1 ) ) * Math.cos( this.graus2Radianos( pontoFinal.latitude ) ) * Math.sin( dLon/2 ) * Math.sin( dLon/2 ); var c = 2 * Math.atan2( Math.sqrt( a ), Math.sqrt( 1-a ) ); var d = R * c; return d; }, graus2Radianos : function( graus ){ return graus * ( Math.PI/180 ) } }; // Objeto para calcular a distancia entre dois pontos // Adaptado dessa formula http://stackoverflow.com/questions/27928/how-do-i-calculate-distance-between-two-latitude-longitude-points var Distancia2 = { distanciaEntreDoisPontos2 : function( pontoInicial, pontoFinal ){ var R = 6371; // Radio da Terra var dLat = this.graus2Radianos( pontoFinal.latitude - pontoInicial.latitude2 ); var dLon = this.graus2Radianos( pontoFinal.longitude - pontoInicial.longitude2 ); var a = Math.sin( dLat/2 ) * Math.sin( dLat/2 ) + Math.cos( this.graus2Radianos( pontoInicial.latitude2 ) ) * Math.cos( this.graus2Radianos( pontoFinal.latitude ) ) * Math.sin( dLon/2 ) * Math.sin( dLon/2 ); var c = 2 * Math.atan2( Math.sqrt( a ), Math.sqrt( 1-a ) ); var d = R * c; return d; }, graus2Radianos : function( graus ){ return graus * ( Math.PI/180 ) } }; var MenorDistancia = Math.min (Distancia1.distanciaEntreDoisPontos1, Distancia2.distanciaEntreDoisPontos2); $( document ).ready( function(){ Localizacao.inicia(); } );  
    • Por MatheusH
      Olá, toda vez que eu respondo um comentário fica escrito: Seu conteúdo precisará ser aprovado por um moderador. 
       
      E tem uns comentários que nem foram aprovados e que acho que seria de utilidade para quem estava com dúvida.
       
      Como posso resolver isso? eu não sou um bot ahushaus
    • Por AnaSalazar
      Boa tarde. Alguém me pode ajudar??? Criei css e html mas quando abre noutro computador, as coisas desformatam, sabem porque isso acontece? Alguém me ajude!!
    • Por Robson Wenzel
      Olá, sou novo no VB
       
      Estou desenvolvendo um programa de atendimento médico onde tem vários textboxs e um deles é de Valor (R$).
       
      O meu problema é o seguinte...
      No meu banco de dados o campo valor é do tipo moeda e o banco é em access
      No meu programa no dataset configurei ele para double e por código consegui colocar automaticamente ponto e virgula.
      Até ai acho que tudo bem...
      Só que quando eu clico para salvar ele automaticamente esquece do ponto e virgula e salva no datagridview o valor sem ponto e virgula, e dai quando eu seleciono o registro ele esquece dos centavos
       
      Ex.:
      Eu digito na text box: R$ 1.250,00
      E quando eu salvo aparece na datagridview: 1250
      Quando seleciono o mesmo registro ele fica assim na textbox: R$ 12,50
      Só se os centavos não forem zerados ele salva mais se forem 00 ele não salva
       
      Por favor! me ajudem.
       
      Segue o código da formula para colocar os ponto e virgula para vocês darem uma olhada e ver se tem erros...
       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Public Shared Sub Moeda(ByRef txt As TextBox)         Dim n As String = String.Empty         Dim v As Double = 0         Try             n = txt.Text.Replace(",", "").Replace(".", "")             If n.Equals("") Then n = ""             n = n.PadLeft(3, "0")             If n.Length > 3 And n.Substring(0, 1) = "0" Then n = n.Substring(1, n.Length - 1)             v = Convert.ToString(n) / 100             txt.Text = String.Format("{0:C2}", v)             txt.SelectionStart = txt.Text.Length         Catch ex As Exception         End Try     End Sub     Private Sub valortxt_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles valortxt.KeyPress         Select Case (valortxt.TextLength)             Case 4                 valortxt.SelectionStart = 5         End Select     End Sub     Private Sub valortxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles valortxt.TextChanged         Atendimentos.Moeda(valortxt)     End Sub ------------------------------------------------------------------------------------------------------------------------------------------------------------
    • Por C4rol
      Oi! Minha família pediu para eu mexer no site deles e acabei por pegar um site pronto e adaptar conforme o necessário. Entendo somente um pouco de programação, então estou me batendo bastante... Desculpem meus termos leigos, espero que vocês possam me ajudar...
       
      Ao fazer o upload das fotos do site - ao total fica 200 MB de imagens - notei que demoram para carregar no celular (iPhone) e em alguns modelos mais simples de Android nem abrem. A qualidade das fotos é muito importante para este site no "desktop", porém não tanto em "mobile". É mais importante que as imagens estejam aparecendo. 
      Gostaria de saber se existe alguma forma de eu reduzir a resolução dessas fotos somente no site para dispositivos móveis. Ou quem sabe exista até outra solução.
       
      Como estou editando por cima de um layout pronto gratuito, não sei onde está cada linha de código... Mas também gostaria de modificar algumas coisas no modo que o site aparece no dispositivo móvel (tamanho da fonte, espaçamento...). Em qual pasta e com qual tag eu poderia encontrar?
       
      Agradeço desde já! Abraços!
×

Informação importante

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