Como exemplo vamos baixar o arquivo com todos os resultados da mega sena
''' Created on 20/09/2011 @author: Evaldo ''' import cookielib,urllib2,urllib class Downloads(object): ''' classdocs ''' def FileFromUrl(self,url, localFileName = None): ''' Realiza a requisição''' request = urllib2.Request( url) response = urllib2.urlopen( request ) ''' Salvar o arquivo''' output = open(localFileName,'wb') output.write(response.read()) output.close() def __init__(self): ''' Define o cookie para a conexao ''' self._logged_in = False self._cookies = cookielib.CookieJar() self._opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self._cookies)) urllib2.install_opener(self._opener) if __name__ == '__main__': try: print 'Baixando' d = Downloads() d.FileFromUrl('http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip','m.zip') print 'Concluido' except Exception as e: print 'Erro' , e
Se você precisar passar algum parâmetro no cookie pode faze-lo assim
''' Created on 20/09/2011 @author: Evaldo ''' import cookielib,urllib2,urllib class Downloads(object): ''' classdocs ''' def FileFromUrl(self,url, localFileName = None): '''Parametros do cookie''' post = urllib.urlencode({"security" : "false"}) ''' Realiza a requisição''' request = urllib2.Request( url, post) response = urllib2.urlopen( request ) ''' Salvar o arquivo''' output = open(localFileName,'wb') output.write(response.read()) output.close() def __init__(self): ''' Define o cookie para a conexao ''' self._logged_in = False self._cookies = cookielib.CookieJar() self._opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self._cookies)) urllib2.install_opener(self._opener) if __name__ == '__main__': try: print 'Baixando' d = Downloads() d.FileFromUrl('http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip','m.zip') print 'Concluido' except Exception as e: print 'Erro' , eIsso também resolve o erro gerado pela urllib2:
HTTP Error 302: The HTTP server returned a redirect error tha t would lead to an infinite loop.
0 comentários:
Postar um comentário