Foros del Web » Programando para Internet » Python »

URLLIB2 download speed

Estas en el tema de URLLIB2 download speed en el foro de Python en Foros del Web. hola he estado buscando por un buen tiempo y no encuentro como solucionar esto: estoy haciendo un download progress bar para bajar archivos con urllib2 ...
  #1 (permalink)  
Antiguo 22/05/2009, 17:42
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 61
Antigüedad: 16 años, 4 meses
Puntos: 0
URLLIB2 download speed

hola

he estado buscando por un buen tiempo y no encuentro como solucionar esto:
estoy haciendo un download progress bar para bajar archivos con urllib2

tengo ese codigo, pero ahora lo que quiero saber es a que velocidad esta bajando el archivo alquien tiene alguna idea?
Código PHP:
import sys
import urllib2

val
="http://www.ubuntu.com/files/dict/mainbar.jpg"
pie=urllib2.urlopen(val)
localfile=open(val.split('/')[-1],'a')

filesize int(pie.headers.get("content-length"))
blocksize int(int(filesize)/10)
att=0
print filesize
while 1:
    
localfile.write(pie.read(blocksize))
    
att+=blocksize
    sys
.stdout.write("=")
    
sys.stdout.flush()

    if 
att >= filesize: break

localfile.close
pie
.close 
  #2 (permalink)  
Antiguo 04/06/2009, 22:50
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: URLLIB2 download speed

Código python:
Ver original
  1. import urllib2
  2. import time
  3.  
  4. d = 'http://www.ubuntu.com/files/dict/mainbar.jpg'
  5. f = urllib2.urlopen(d)
  6. g = open(d.split('/')[-1],"wb")
  7.  
  8. size = int(f.headers.get("content-length"))
  9. print "%.2f kb"%(size/1024.0)
  10.  
  11. inicio = time.time()
  12. t = 0
  13. v = 0
  14. for line in f:
  15.     total = time.time() - inicio
  16.     g.write(line)
  17.     t += len(line)
  18.     if total:
  19.         v = len(line) / 1024.0 / total
  20.  
  21.     print "%.2f kb/s %d%s %s                       \r" % (v, 100 * t / size, "%", (20 * t / size)*"="),
  22.     inicio = time.time()
  23. print ""
  24. g.close()

Aquí un pequeño código que he hecho.

Última edición por razpeitia; 05/06/2009 a las 11:13
  #3 (permalink)  
Antiguo 15/06/2009, 16:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: URLLIB2 download speed

Claro que si quieren algo mucho mas compacto, esta el wget hecho por Guido van Rossum, este codigo viene en el python cookbook:
Código python:
Ver original
  1. import sys, urllib
  2. def reporthook(*a): print a
  3. for url in sys.argv[1:]:
  4.      i = url.rfind('/')
  5.      file = url[i+1:]
  6.      print url, "->", file
  7.      urllib.urlretrieve(url, file, reporthook)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:37.