La gaceta de la cabeza

Usando wget para bajar canciones o imágenes

December 05, 2008 linux consola

Un cliente me tiene que mandar varias imágenes (logotipos, fotos) para poner en el sitio web que les estamos haciendo y lo que se le hizo más fácil fue subirlo todo a una carpeta en el servidor web que tienen contratado. Me dice que tiene más cosas y que las va a ir subiendo durante la semana.

Yo quiero bajarlo todo, pero que flojera hacerlo archivo por archivo. Y luego queda el problema de estar revisando la página por archivos nuevos. Tanto trabajo manual va a reducir mi productividad y no podré estar checando mi Google Reader. Por suerte estamos en linux ;-)

GNU/Linux tiene una herramienta que queda como anillo al dedo para este tipo de tareas y se llama wget. Sirve para bajar archivos de Internet y soporta HTTP, HTTPS y FTP. Como dice en su documentación, sus principales ventajas son:

  • que no es interactivo, lo que permite utilizarlo sin necesidad de intervención por el usuario ;-)
  • te permite continuar descargas canceladas (para cuando se te cae la conexión por usar la wifi)
  • sabe distinguir entre archivos que ya bajaste y los nuevos de la página
  • es recursivo (te podrías bajar todo un sitio web completito con un solo comando)

Entonces, manos a la obra.

wget -r -l1 -np -nd -A.jpg,.png,.gif -N http://dominiodelcliente.com/folder_de_imagenes/

Este comando lo que hace es:

  • -r. bajar todo lo que este en la dirección recursivamente, es decir, seguir todas las ligas que aparezcan en la página (recursive)
  • -l1. pero sólo hasta un nivel de recursividad, es decir, sin seguir las ligas que aparezcan en las otras páginas que se baje (level 1)
  • -np. Sin bajarse los archivos de carpetas en niveles superiores (no parent)
  • -nd. Bajandolo todo en un sólo directorio (no directories)
  • -A. Bajando solamente los archivos que terminen en .gif o .png o .jpg. (Accept)
  • -N. Y bajando solamente los archivos nuevos que no existan ya en la carpeta a menos que el del servidor sea más nuevo

Este archivo lo puedo correr una vez al día, o ponerlo en el cron y me bajara cada vez los archivos nuevos que vaya encontrando. Chido.

Todo esto fue fácil de averiguar gracias al poder de google, este buen tutorial escrito en inglés y el man page de wget.


Joaquín Bravo Contreras

Joaquín Bravo Contreras es un desarrollador mexicano. Juega futbol cada que puede. Le gusta andar en bici y leer (cuando sus hijos lo dejan). Todavía cree en la buena voluntad de las personas.