Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Extrair dados da Web

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
wellplzz
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qua Jan 18, 2017 11:45 pm

Extrair dados da Web

Mensagem por wellplzz »

Boa noite a todos

Gostaria primeiramente de me apresentar por ser novo no fórum. Me chamo Welington e atualmente atuo no mercado de pesquisa, em algumas situações me deparo com informações que preciso para realizar análises mais detalhadas, é por ter essa necessidade que despertei o interesse em extrair tais dados da web. Todos sabemos o quanto é chato, trabalhoso e improdutivo ficar copiando e colando paginas e mais paginas de dados. Tenho conhecimento básico em vba, sempre busco alternativas nos principais sites e pessoas que compartilham conhecimento do assunto. Vou expor a vocês a minha dificuldade. Estou tentando extrair dados da página a seguir: [ http://www.dataescolabrasil.inep.gov.br ... olaBrasil/ ], porém antes de gerar a tabela com os dados é necessário aplicar alguns filtros, no meu caso são: UF, CIDADE, DEPENDÊNCIA ADMINISTRATIVA (PRIVADA), SITUAÇÃO DE FUNCIONAMENTO (EM ATIVIDADE), MODALIDADE (ENSINO REGULAR).

Código: Selecionar todos

Sub ImportaDADOS()

Dim objIE As Object
    Set objIE = CreateObject("InternetExplorer.Application")
        With objIE
            .Visible = True
            .Navigate "http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/"
            Do While .Busy: DoEvents: Loop
            Do While .ReadyState <> 4: DoEvents: Loop

    objIE.document.GetElementById("depAdmPrivada").Item(0).Checked = "True"
    objIE.document.GetElementById("situacaoEmAtividade").Item(0).Checked = "True"
    objIE.document.GetElementById("modalidadeRegular").Item(0).Checked = "True"
    
    objIE.document.GetElementById ("estadoDecorate:estadoSelect")
       
    For i = 1 To UF.Options.Length
        If UF.Options(i).Text = "RS" Then
           UF.selectedindex = i
           Exit For
        End If
    Next i
    
    Set Cidade = objIE.document.GetElementById("municipioDecorate:municipioSelect")
    
    For i = 1 To Cidade.Options.Length
        If Cidade.Options(i).Text = "PORTO ALEGRE" Then
           Cidade.selectedindex = i
           Exit For
        End If
    Next i
        
    objIE.document.GetElementsbyid("pesquisar").Click

End With

Set objIE = Nothing
End Sub
Espero que possam me ajudar, o código acima é somente para aplicar o Filtro da pesquisa dos dados.

Fico no aguardo, atenciosamente
Welington Jr.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Extrair dados da Web

Mensagem por webmaster »

Welington,

Recomendo que comece por aqui:

http://tomasvasquez.com.br/blog/?s=selenium


wellplzz
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qua Jan 18, 2017 11:45 pm

Re: Extrair dados da Web

Mensagem por wellplzz »

Obrigado pela dica, Administrador.

Porém já tentei através do selenium e apresenta erro duas condições quando colo no vba. Segue abaixo o código:

Código: Selecionar todos

Public Sub Untitled()
  Dim selenium As New SeleniumWrapper.WebDriver
  selenium.Start "firefox", "http://www.dataescolabrasil.inep.gov.br/"

  selenium.Open "/dataEscolaBrasil/"
  selenium.Select "id=estadoDecorate:estadoSelect", "label=RS"
  selenium.Select "id=estadoDecorate:estadoSelect", "label=RS"
  selenium.click "css=option[value=""43"]"
  selenium.Select "id=municipioDecorate:municipioSelect", "label=PORTO ALEGRE"
  selenium.Select "id=municipioDecorate:municipioSelect", "label=PORTO ALEGRE"
  selenium.click "css=option[value=""4314902"]"
  selenium.Click "id=depAdmPrivada"
  selenium.Click "id=depAdmPrivada"
  selenium.Click "id=situacaoEmAtividade"
  selenium.Click "id=situacaoEmAtividade"
  selenium.Click "id=modalidadeRegular"
  selenium.Click "id=modalidadeRegular"
  selenium.Click "id=pesquisar"
  selenium.clickAndWait "id=pesquisar"

  selenium.stop
End Sub
Destaca em vermelho as seguintes linhas de código:
selenium.click "css=option[value=""43"]"
selenium.click "css=option[value=""4314902"]"

No aguardo, atenciosamente
Welington Jr.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder