Página 1 de 1

Download de uma página gerada dinamicamente: é possivel?

Enviado: 24 Mar 2022 20:22
por carlos_dornelas
Boa noite!

Eu preciso baixar todos os resultados da megasena para utilizar em um programa que gera estatísticas. Até há algum tempo atrás existia um endereço http definido no site da Caixa, que gerava o html e eu o conseguia baixar utilizando o comando:

Código: Selecionar todos

BaixarURLMON("http://loterias.caixa.gov.br/wps/portal/loterias/landing/megasena/!ut/p/a1/04_Sj9CPykssy0xPLMnMz0vMAfGjzOLNDH0MPAzcDbwMPI0sDBxNXAOMwrzCjA0sjIEKIoEKnN0dPUzMfQwMDEwsjAw8XZw8XMwtfQ0MPM2I02-AAzgaENIfrh-FqsQ9wNnUwNHfxcnSwBgIDUyhCvA5EawAjxsKckMjDDI9FQE-F4ca/dl5/d5/L2dBISEvZ0FBIS9nQSEh/pw/Z7_HGK818G0K8DBC0QPVN93KQ10G1/res/id=historicoHTML/c=cacheLevelPage/=/","Megasena.htm")

Código: Selecionar todos

FUNCTION BaixarURLMON(url,arq)
nHandleDLL:=hb_LibLoad("UrlMon.dll")
nStatus:=hb_dynCall( { "URLDownloadToFileA", nHandleDLL,HB_DYN_CALLCONV_STDCALL},0,url,arq,0,0)
hb_LibFree(nHandleDLL)
RETURN Nil
Mas agora, a Caixa reformulou a forma de acesso a esses resultados e estou tendo de baixar o html manualmente, da seguinte forma:

1) Acesso o endereço: https://loterias.caixa.gov.br/Paginas/Mega-Sena.aspx

2) No final da página tenho de clicar em "Resultados da Mega-Sena por ordem crescente" para que uma nova aba se abra e seja gerado um html com os resultados... Aí nessa nova aba, salvo a página com os dados. O endereço dessa nova aba é https://loterias.caixa.gov.br/Paginas/D ... tados.aspx, mas se eu tentar abrí-la diretamente no navegador, nada acontece...

Vi muito os nobres colegas tratarem do assunto WebService, mas não sei se se encaixaria no que estou querendo fazer com o site de resultados da Caixa ou não nada a ver...

Desde já agradeço por qualquer dica/sugestão.

[]s

Antonio Carlos

Download de uma página gerada dinamicamente: é possivel?

Enviado: 29 Mai 2023 22:04
por dbsh
Apesar da pagina estar com extensão .ASPX, ASP DOT NET, tem vestigio de AngularJS.

esta sendo feito uma chamada para a função: abrirPaginaDownloadResultados()
e parece que é uma função "protegida", esta sendo executada no servidor.

que faz outra chamada POST com estes parâmetros.

Código: Selecionar todos

https://loterias.caixa.gov.br/j/collect?t=dc&aip=1&_r=3&v=1&_v=j100&tid=UA-71411161-3&cid=1678039823.1673618981&jid=1603900358&gjid=828878196&_gid=547245788.1685406069&_u=aAHAAAABAAAAACAAAAB~&z=1210387533
que deve mudar a cada sessão/requisição, vai ser difícil de automatizar.

Se você abrir a pagina e simular um click, em "Resultados da Mega-Sena por ordem crescente.", ou chamar a função abrirPaginaDownloadResultados(), é provável que funcione.

Não sei se vai funcionar em AngularJS.

Em html/JS, você carrega a pagina, aguarda ela terminar de carregar e chama o evento click do link.
Pode funcionar.

Da para fazer no Harbour.