SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: sidaphextwin en Miércoles 14 de Marzo de 2012, 15:39

Título: Descargar archivos con urllib3
Publicado por: sidaphextwin en Miércoles 14 de Marzo de 2012, 15:39
Hola, necesito descargar un archivo .mp3 de mi servidor con urllib3. El caso es que cuando lanzo el programa el router parece que empieza a descargar "algo" pero el print no escribe nada. De hecho me gustaría saber si es posible indicarle en que carpeta puede descargar el archivo y cambiar el nombre de éste en el disco duro. Por ej. descarga file.mp3 y lo escribe en el disco como file2.mp3

Código: Python
  1. import urllib3
  2.  
  3. archivo = "http://dominio.com/file.mp3"
  4.  
  5. pool = urllib3.connection_from_url(str(archivo))
  6.  
  7. now = time.time()
  8. r = pool.get_url(str(archivo))
  9. elapsed = time.time() - now
  10. print("Got in %0.3fs: %s" % (elapsed, str(archivo)))
  11.  
¿Alguna idea?

Muchas gracias
Título: Re:Descargar archivos con urllib3
Publicado por: arielb en Miércoles 14 de Marzo de 2012, 17:49
Hola, bienvenido al foro.
Bueno no conozco urllib3, pero te puedo recomendar que abras el archivo con open() y lo leas usando read(), el resultado de la lectura lo guardas en la ruta que dices usando file.write() le pones "wb" para que lo escriba como binario.

Saludos,
Título: Re:Descargar archivos con urllib3
Publicado por: sidaphextwin en Miércoles 14 de Marzo de 2012, 22:48
Gracias por la respuesta. Para quien le sirva la solución, además de la arriba, claro, era importando además de urllib3, urllib y usando:
Código: Python
  1. urllib.urlretrieve("server/file.mp3","/Descargas/file2.mp3")

Gracias.