Descargar archivos de un sitio web desde el terminal

Introducción

Hace unos días actualicé el script para descargar imágenes de cualquier página web desde el terminal. Cuando estaba trabajando con él, se me ocurrió que lo mismo se podría hacer para descargar cualquier otro tipo de archivo. Si entramos en una página con una docena de referencias de normativa o reglamentación en formato pdf, resulta anodino tener que ir haciendo clic sobre cada una de ellas para poder descargar los archivos. Con este script, indicas el formato de los archivos que quieres descargar y el te los descargará todos.

El script

Evidentemente he resuelto todos los errores que se producían con el script de imágenes, tanto en lo referente a los problemas con que el código html esté en mayúsculas o minúsculas, como los problemas con las comillas simples y dobles.

He añadido las siguientes características:

  • Cada archivo se descarga una única vez, aunque existan varias referencias en el sitio web
  • Renombra archivos con el mismo nombre, codificándolos numéricamente para evitar sobreescribirlos
  • Utiliza el mismo método para la descarga de archivos, lanzando varios hilos de forma simultánea, como también hace imagedownloader2 y Picapy

Descargar e instalar

Puedes descargar el script desde el área de descargas o desde aquí mismo:

[wpfilebase tag=file id=98]

Una vez descargado lo descomprimes desde el terminal:

tar -xvzf filedownloader2.tar.gz

le das permiso de ejecución y lo copias en algún sitio para que esté disponible para ejecución:

chmod +x filedownloader2
sudo cp filedownloader2 /usr/bin/

Funcionamiento

Para descargar archivos de una página, tienes que indicar el tipo de archivos que quieres descargar y la página de donde quieres descargarlos (claro):

filedownloader2 ext url

donde ext es la extensión de los archivos que quieres descargar y url es la página web de donde quieres descargarlos. Así si quisieras bajar toda la normativa correspondiente al Código Técnico de la Edificación que está en formato PDF, lo puedes hacer utilizando para ello el siguiente comando con sus correspondientes parámetros:

filedownloader2 pdf http://www.codigotecnico.org/web/recursos/documentos/

3 comentarios en “Descargar archivos de un sitio web desde el terminal

    1. Hola @google-25627e1b404c8046d0455a32b66d3760:disqus ,

      he estado visitando la página que comentas. Para que el script pueda funcionar tiene que existir el enlace al archivo que quieres descargar. Sin embargo, en ninguno de los dos casos existen estos enlaces, sino que tienes que seguir varios enlaces hasta que consigues descargar el archivo, y en ninguno aparece esta referencia.

      Saludos

Deja una respuesta

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