Página 1 de 1

Dados da web com resposta vazia

Enviado: Seg Set 23, 2019 9:05 am
por iancao
Caros,

Parabéns pelo Fórum, já vi muita coisa interessante por aqui.

Já fiz inúmeras extrações de dados de páginas da web, envolvendo vários dos problemas que vocês discutem por aqui.

Não o fazia há algum tempo e tenho encontrado dificuldades que não havia antes.

Será que há algum problema com os updates do excel ou explorer ?

O caso em questão é esse :

Quando uso o comando usual de :
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://web.cvm.gov.br/app/esforcosrestr ... o=Mg%3D%3D"
Do While objIE.ReadyState <> 4 Or objIE.Busy
DoEvents
Loop
Set objDocument = objIE.Document
Set colForms = objDocument.forms

O retorno do objIE.Document vem vazio....

Tentei buscar o arquivo XML com o XMLHTPP mas a resposta também é vazia :

Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")

http.Open "GET", "http://web.cvm.gov.br/app/esforcosrestr ... o=Mg%3D%3D", False

http.send

html.body.innerHTML = http.responseText

A ideia seria entrar nessa primeira página : http://web.cvm.gov.br/app/esforcosrestr ... o=Mg%3D%3D

e depois entrar em cada ativo e extrair os dados para o excel. Uma página de ativo seria como essa, por exemplo :
http://web.cvm.gov.br/app/esforcosrestr ... Zz09In0%3D


alguma ideia ?

Muito obrigado,

abraços,

Ian

Re: Dados da web com resposta vazia

Enviado: Seg Set 23, 2019 11:35 am
por webmaster
Ian,

A página é um SPA (Single Page App). Todo o carregamento é dinâmico, sendo a resposta vinda a partir de requisições do navegador. Neste caso, requisições como a usada com ServerXMLHTTP não funcionarão.

A navegação terá que ser feita na mão, esperando os elementos serem carregados e verificando um a um. O Selenium é mais preparado para isso.

Re: Dados da web com resposta vazia

Enviado: Seg Set 23, 2019 12:40 pm
por iancao
Entendi!

Então usando o Selenium, mesmo no caso que o objIE.Document retorna vazio, será possível interagir com a página ?

Vou estudar o Selenium então.

Muito obrigado,

abs,