Este artículo continua con las diferentes formas que se tienen de descargar archivos desde con Python. En la primera parte del artículo revisamos el uso del request, wget y la descarga en forma paralela. 

En esta artículo complementamos las diferentes formas de descarga de archivos con el uso de urllib, descarga utilizando un proxy y descarga desde S3 de Amazon.

Descargar archivos con una barra de progreso

La barra de progreso es un widget de interfaz de usuario del módulo del cliente. Para instalar el módulo del cliente, escriba el siguiente comando:

Considere el siguiente código

En este módulo, realizamos el import del requests, y luego, desde clint.texuti, importamos el widget de progreso. La diferencia esta en el ciclo for. Usamos el método de barra del módulo de progreso mientras escribimos el contenido del archivo.

Descarga de una página web utilizando urllib

En esta sección descargaremos una página web utilizando urllib. La biblioteca urllib es una biblioteca estandard de Python, por lo que no necesita instalarla. La siguiente línea de código puede descargar fácilemnte una página web:

Especifique la URL que quiere guardar y donde la quiere guardar

En este código, usamos urlretrieve método y pasó la URL de un archivo, junto con la ruta donde guardaremos el archivo. La extensión del archivo será .html.

Descarga utilizando un Proxy

Si necesita un proxy para descargar sus archivos puede utilizar ProxyHandler del módulo de urllib. Utilizando el siguiente código:

En este código, creamos el objeto proxy y abrimos el proxy invocando el método build_opener de urllib y pasamos el objeto proxy. Luego, hicimos la solicitud para recuperar la página.

Además, puede usar el módulo de solicitudes como se documenta en la documentación oficial:

Simplemente importe el módulo request y cree su objeto proxy. Luego, se puede recuperar el archivo.

Usando urllib3

El urllib3 es una versión mejorada del módulo urllib. Puede descargarlo e instalarlo usando pip.

Buscaremos una página web y la almacenaremos en un archivo de texto usando urllib3. Importe los siguiente módulos:

El módulo shutil se usa cuando se trabaja con archivos. Ahora inicialice la variable de cadena como esta:

Luego, usamos el PoolManager de urllib3 que realiza un seguimiento de los grupos de conexiones necesarios, se crea el archivo filename y lueto utilizamos GET para descargar el archivo.

Descarga de archivos de S3 utilizando Boto3

Para descargar archivos de S3, se debe utilizar el módulo Boto3 de Python. Antes de empezar se debe instalar el módulo awscli.

Para la configuración de AWS ejecute el siguiente comando:

Para descargar un archivo de Amazon S3, se debe realizar el import de boto3 y botocore. Boto3 es el Amazon SDK para Python. Botocore proporciona los servicios de línea de comando para interactuar con Amazon web services.

De esta forma realizamos la descarga de un archivo de S3.


Como observan existen muchas formas de realizar la descarga de achivos con Python. Si conoce algún otro método comentelo en los comentarios.

Este artículo se encuentra basado en Simple Examples of Downloading Files Using Python.

Ejemplos de descarga de archivos con Python – II
Si te gusto, comparte ...Share on email
Email
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
Linkedin
Share on google
Google
Etiquetado en:    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook