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' , e
Isso 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