Jump to content

Baixar Resultados oficiais


MOC

Recommended Posts

Onde consigo baixar um arquivo com todos os resultados da loterias Caixa? pode ser também 1 por um através de link de consulta ou json, porém preciso que seja a CEF a fonte.

Lembro um tempo atrás era possível baixar uma arquivo zipado, agora parece não estar disponível.

 

Esse já não funciona

http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_mgsasc.zip 

Link to comment
Share on other sites

Baixar todos os resultados em JSON é um pouco demorado, melhor alternativa na minha visão é a que estou enviando abaixo.

 

Faça o download dos resultados utilizando o link abaixo, salvando como um arquivo html

 

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/=/

 

Depois só mandar importar os dados igual vc fazia antes, ou seja, quando a caixa disponibilizava o arquivo em formato zip.

 

Basicamente a diferença é que esse novo arquivo html possui um pouco mais de 3 mb e antes era em torno de 200 kb (pois já estava compactado).

 

Segue código em object pascal (uso turbo delphi)  de como baixar o arquivo html:

 

Observação: A lógica do código abaixo é a mesma para qualquer linguagem de programação,  estou enviando em object pascal pois é o que tenho pronto aqui.

 

//Em uses declare UrlMon

//função generica para realizar download
function DownloadFile(Source, Dest: string): Boolean; 
begin
  try
    Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0;
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
url: string;
begin

//a url por ser muito longa, se faz necessário cortar em partes e depois segue unindo novamente
url:= 'http://loterias.caixa.gov.br/wps/portal/loterias/landing/megasena/!ut/p/a1/04_';
url:= url + 'Sj9CPykssy0xPLMnMz0vMAfGjzOLNDH0MPAzcDbwMPI0sDBxNXAOMwrzCjA0sjIEKIoEKnN0dPUzMfQwMDEwsjAw8XZw8XMwtfQ0MPM2I02-';
url:= url + 'AAzgaENIfrh-FqsQ9wNnUwNHfxcnSwBgIDUyhCvA5EawAjxsKckMjDDI9FQE-F4ca/dl5/d5/L2dBISEvZ0FBIS9nQSEh/pw/Z7_';
url:= url + 'HGK818G0K8DBC0QPVN93KQ10G1/res/id=historicoHTML/c=cacheLevelPage/=/';

//o arquivo megasena.html será salvo no diretório do aplicativo
if DownloadFile (url, ExtractFilePath(ParamStr(0))+ '\megasena.html') then
ShowMessage('Download Concluído!')
else
ShowMessage('Falha ao fazer o download!!')
end;

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

9 horas atrás, Rany disse:

Baixar todos os resultados em JSON é um pouco demorado, melhor alternativa na minha visão é a que estou enviando abaixo.

 

Faça o download dos resultados utilizando o link abaixo, salvando como um arquivo html

 

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/=/

 

Depois só mandar importar os dados igual vc fazia antes, ou seja, quando a caixa disponibilizava o arquivo em formato zip.

 

Basicamente a diferença é que esse novo arquivo html possui um pouco mais de 3 mb e antes era em torno de 200 kb (pois já estava compactado).

 

Segue código em object pascal (uso turbo delphi)  de como baixar o arquivo html:

 

Observação: A lógica do código abaixo é a mesma para qualquer linguagem de programação,  estou enviando em object pascal pois é o que tenho pronto aqui.

 

//Em uses declare UrlMon

//função generica para realizar download
function DownloadFile(Source, Dest: string): Boolean; 
begin
  try
    Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0;
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
url: string;
begin

//a url por ser muito longa, se faz necessário cortar em partes e depois segue unindo novamente
url:= 'http://loterias.caixa.gov.br/wps/portal/loterias/landing/megasena/!ut/p/a1/04_';
url:= url + 'Sj9CPykssy0xPLMnMz0vMAfGjzOLNDH0MPAzcDbwMPI0sDBxNXAOMwrzCjA0sjIEKIoEKnN0dPUzMfQwMDEwsjAw8XZw8XMwtfQ0MPM2I02-';
url:= url + 'AAzgaENIfrh-FqsQ9wNnUwNHfxcnSwBgIDUyhCvA5EawAjxsKckMjDDI9FQE-F4ca/dl5/d5/L2dBISEvZ0FBIS9nQSEh/pw/Z7_';
url:= url + 'HGK818G0K8DBC0QPVN93KQ10G1/res/id=historicoHTML/c=cacheLevelPage/=/';

//o arquivo megasena.html será salvo no diretório do aplicativo
if DownloadFile (url, ExtractFilePath(ParamStr(0))+ '\megasena.html') then
ShowMessage('Download Concluído!')
else
ShowMessage('Falha ao fazer o download!!')
end;

 

E para as outras modalidades?

Vlw

Link to comment
Share on other sites

Você pode pedir no cabeçalho do requerimento que venha compactado em gzip, assim a transferência é mais rápida, desde que sua linguagem tenha suporte para descompactar gzip, é claro. Outro detalhe, você tem q definir um cookie "security=true" para a solicitação não vir com resposta "302 Found".

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...