pega dados da infomoney.com.br/ibovespa

Tem alguma dica para o uso do Excel? Algum atalho especial? Algum macete? Aqui é o lugar para você compartilhar!

pega dados da infomoney.com.br/ibovespa

Mensagempor edcronos2 » Qui Mai 23, 2019 3:44 pm

particularmente não gosto de usar o ie , fica bem lento para automatizar os dados
prefiro usar MSXML2.ServerXMLHTTP.6.0 ou outro apesar de ser muito mais dificil de lidar
mas como ajudei uma pessoa aqui a pegar os dados a bolsa , terminei colocando logo para pegar os dados da tabela

a quem interessa possa.
Código: Selecionar todos

Sub infomoneyibovespa2()
     url = "https://www.infomoney.com.br/ibovespa"
     With CreateObject("internetexplorer.application")
          .navigate url
          .Visible = True
          While .Busy = True Or .readyState < 4: DoEvents: Wend
          '===============================================================
          Dim event_onChange As Object
          Set event_onChange = .Document.createEvent("HTMLEvents")
          event_onChange.initEvent "change", True, False
          For Each oSelect In .Document.getElementsByTagName("select")
               If oSelect.getAttribute("name") = "tblStockWallet_length" Then
                    oSelect.Focus
                    oSelect.Value = "10000"     'oSelect.selectedIndex = 4
                    oSelect.dispatchEvent event_onChange
                    Exit For
               End If
          Next oSelect
          '''''' '=============================================
          For n = 1 To 10000
               While .Busy = True Or .readyState < 4: DoEvents: Wend
          Next
          '''''  ==============(PEGA DADOS DA TABELA)==================
          With .Document.getElementsByClassName("dataTables_wrapper")(0)
               L = 1
               For Each h In .getElementsByTagName("th")
                 C = C + 1
                    Cells(L, C).Value = h.innerText
               Next
               For Each LTb In .getElementsByTagName("tr")
               L = L + 1
                    For Each CTb In LTb.getElementsByTagName("td")
                      C = C + 1
                         Cells(L, C).Value = CTb.innerText
                    Next
                    C = 0
               Next
          End With
          '''====================================
     End With
End Sub

For this post the author edcronos2 thanked:
EdsonBR (Qui Mai 23, 2019 9:50 pm)
edcronos2
Membro
Membro
 
Mensagens: 473
Registrado em: Seg Nov 30, 2015 6:59 pm
Has thanked: 30 times
Have thanks: 98 times

{ SO_SELECT }

Re: pega dados da infomoney.com.br/ibovespa

Mensagempor paulosemblano » Sex Mai 24, 2019 9:22 pm

Parabéns pelo trabalho!
paulosemblano
 

Re: pega dados da infomoney.com.br/ibovespa

Mensagempor edcronos2 » Sáb Mai 25, 2019 4:43 pm

se alguem puder dar uma opinião
viewtopic.php?f=19&t=31182
edcronos2
Membro
Membro
 
Mensagens: 473
Registrado em: Seg Nov 30, 2015 6:59 pm
Has thanked: 30 times
Have thanks: 98 times


Voltar para Dicas & Macetes

Quem está online

Usuários navegando neste fórum: Google Adsense [Bot] e 5 visitantes