Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: fortil en Enero 02, 2013, 07:39:17 PM

Título: [SOLUCIONADO] Libreria o modulo para saber el progreso de descarga
Publicado por: fortil en Enero 02, 2013, 07:39:17 PM
Hola a todxs


Feliz año nuevo underc0de xD

bueno pues como dice el titulo, necesito saber como puedo descargar un archivo de la web (un .rar un .txt el que sea) con python y a parte de eso, saber cual es el proceso de su descarga.

he encontrado esto en la web, pero me arroja error:
Código (python) [Seleccionar]

import urllib2

remote = r"http://cambiemosjuntosunivalle.netai.net/ptf/update.txt"
local = r"c:\Python27\update.txt"

u = urllib2.urlopen(remote)
h = u.info()
totalSize = int(h["Content-Length"])

print "Descargando %s bytes..." % totalSize,
fp = open(local, 'wb')

blockSize = 8192 #100000 # urllib.urlretrieve uses 8192
count = 0
while True:
    chunk = u.read(blockSize)
    if not chunk: break
    fp.write(chunk)
    count += 1
    if totalSize > 0:
        percent = int(count * blockSize * 100 / totalSize)
        if percent > 100: percent = 100
        print "%2d%%" % percent,
        if percent < 100:
            print "\b\b\b\b\b",  # Erase "NN% "
        else:
            print "Done."

fp.flush()
fp.close()
if not totalSize:
    print


este es el error:

Traceback (most recent call last):
  File "C:/Python27/descarga.py", line 6, in <module>
    u = urllib2.urlopen(remote)
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 406, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 302: Found


CUando lo hago con urllib.retrieve, me arroja el siguiente error:

Traceback (most recent call last):
  File "C:/Python27/descarga.py", line 7, in <module>
    h = u.info()
AttributeError: 'tuple' object has no attribute 'info'

lo cual sé lo que significa pero no me gustaría que no tubiese ese atributo ya que por medio de él es que se puede obtener información de la descarga, al menos que halla otra manera.

gracias
Título: Re:[Ayuda]libreria o modulo para saber el progreso de descarga
Publicado por: Once en Enero 02, 2013, 07:56:25 PM
El código está bien, el problema es que http://cambiemosjuntosunivalle.netai.net/ptf/update.txt no existe. Sólo cambialo y funcionará

Saludos!
Título: Re:[Ayuda]libreria o modulo para saber el progreso de descarga
Publicado por: fortil en Enero 02, 2013, 08:46:39 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
El código está bien, el problema es que http://cambiemosjuntosunivalle.netai.net/ptf/update.txt no existe. Sólo cambialo y funcionará

Saludos!

es cierto, no sé por qué diablos no me aparece la imagen o archivo en este servidor (lo manejo yo, gratuito xD) en otro si me aparece, cuando se da el enlace completo así se compie de la pagina (una imagen o cualquier cosa) aparece que el archivo fue movido y da un link con el mismo enlace y ahí si carga.