9 nov. 2009

Internet en tu disco duro con wget

wget es un comando de consola que nos permitirá descargar a nuestro disco duro casi cualquier cosa que esté en internet a través de los protocolos HTTP y FTP.

Es rápido, potente, soporta cientos de opciones, puede usarse en scripts, descargar un listado de direcciones guardado en un archivo y muchas cosas más.

Algo que wget aun no puede hacer es descargar de servidores tipo RapidShare o MegaUpload, para ese tipo de servicios podeis usar Tucan.

En este artículo vamos a ver una serie de ejemplos prácticos que cubrirán la mayoría de las necesidades de cualquier usuario.


  • Instalación
Empezaremos por instalarlo, al estar en los repositorios oficiales es tan sencillo como:
$ sudo aptitude install wget

Una vez instalado podemos ver un completo listado de opciones y un manual de uso con las órdenes:
$ wget --help
$ man wget


  • Descargar un único archivo
La función más básica de wget es descargar un único archivo, para lo cual sólamente le pasaremos como opción la dirección del archivo a descargar:

$ wget $URL

Substituyendo $URL por la dirección del archivo que queramos descargar. En la siguiente imagen vemos a wget descargando las fuentes del kernel:

wget descargando


  • Cancelar y reanudar descargas
Para cancelar una descarga bastará con pulsar Ctrl+C desde la linea de comandos, si queremos recuperar la descarga y que continue desde el punto donde lo había dejado usaremos el parámetro -c

$ wget -c $URL

  • Descargar una web entera
Usa este comando con cuidado, el contenido de una web a menudo es mucho más extenso de lo que parece. El siguiente comando descargará todo el contenido de la web http://www.gnu.org/ y convertirá los enlaces de manera que se podrá navegar off-line por los archivos descargados:

$ wget --convert-links -r http://www.gnu.org/

  • Descargar un directorio ftp
Al trabajar con ftp las opciones se simplifican y para descargar por ejemplo todo el contenido de ftp://ftp.kernel.org/pub/linux/kernel/ bastará con ejecutar la orden:

$ wget -r ftp://ftp.kernel.org/pub/linux/kernel/

  • Descargar una lista de direcciones contenidas en un archivo
Suponiendo que tengamos las direcciones que queremos descargadas guardadas en un archivo llamado direcciones.txt la orden para descargarlas todas sería:

$ wget -i direcciones.txt

  • Mantener un mirror de una dirección de internet
Podemos mantener un mirror es decir, una copia exacta, de un sitio de internet mediante la orden:

$ wget --mirror $URL

Esto puede ser útil para manatener copias locales de repositorios, hacer copias de seguridad de nuestras propias webs publicadas...

  • Descargar todas las imágenes de una página web
Se trata de especificar las extensiones que queremos obtener usando el parámetro -A, por ejemplo:

$ wget -r -l12 --no-parent -A.jpg $URL

Descargará recursivamente todos los archivos con extensión jpg de la dirección $URL.

  • Entorno gráfico
Existen varios frontends gráficos para facilitar el uso de wget, adaptados a diferentes escritorios y la mayoría de ellos disponibles en los repositorios.

Gwget: frontend escrito en GTK+ especialmente diseñado para usar con el escritorio GNOME. Para instalarlo bastará con usar:

$ sudo aptitude install gwget

Gwget

Kget: frontend escrito en Qt y pensado especialmente para usarse con el escritorio KDE. Para instalarlo bastará con ejecutar el comando:

$ sudo aptitude install kget

Kget

  • Más información
Pagina del manual de wget: http://www.gnu.org/software/wget/manual/wget.html
Gwget
Kget

  • Artículos relacionados

5 comentarios :

Imeneo dijo...

Yo no lo he probado, pero en teoría si se puede descargar desde Rapidshare y Megaupload; eso si, sólo para cuentas premium

http://joservilas.blogspot.com/2009/06/gestor-de-descarga-rapishare-para-linux.html


Saúdos.

Oxiidats dijo...

Hola gracias por los comentarios del wget, pero a mi me gustaria saber como actualizar una web o sea me explico me descargo tu web para leerla ofline y mañana actualizas la web con dos comentarios mas, y yo quisiera descargar-me las actualizaciones de tu web para poder leerlas online. Y no tener que descargarme de nuevo toda la web entera, no se si me explico. Como si quisiera actualizar la web al lo ultimo que se publica para pode tenerlo ofline. Un saludo.

David Salinas Cortés dijo...

Excelente post, fosco, me es útil en particular la opción de descargar una web conviertiendo los links. Seguimos en freenode. Saludos!

Mauro dijo...

Hola, tengo una duda sobre este comando. Cuando pongo a descargar donde van los archivos, donde los busco una ves descargados?

Saludos

Dani Molina dijo...

@Mauro por defecto los archivos quedarán en la misma carpeta desde la que lanzas el comando. Si descargas una web recursivamente se creará en la carpeta actual una carpeta con el nombre de la web y dentro sus archivos.

Un saludo