Menu Desplegable
Como usar WGET en Windows para descargar archivos de internet.

Descargar al equipo archivos, páginas, directorios y sitios web completos usando WGET mediante HTTP. Hacer las descargas mas rápidas, eficientes y poderlas reanudar en caso de errores. Crear descargas recursivas o sea de todos los archivos que componen una página web.



¿Por qué usar WGET?

Wget viene a suplir una necesidad de todos los usuarios de internet, descargar archivos. Los navegadores web realizan esta tarea, pero no con la eficiencia necesaria y en ocasiones es casi imposible al tratarse de archivos grandes.

Los programas diseñados con este objetivo y que logran resultados óptimos son de pago, por lo que Wget es la alternativa necesaria, aunque no se promueve su uso lo suficiente por razones obvias.

La única desventaja de Wget es la carencia de interface gráfica, precisamente este articulo y otro que es su continuación, tienen el propósito de promover y facilitar el uso de Wget a los que no poseen los conocimientos, ni la práctica necesaria en el uso de la línea de comandos en Windows.


Principales ventajas y características de WGET
  • Completamente configurable.
  • Se caracteriza por su funcionamiento estable en las conexiones lentas e inestables. Si una descarga no se completa debido a un problema en la red, Wget automáticamente tratará de seguir descargado desde donde acabó, y repetir el proceso hasta que el archivo completo haya sido recuperado.
  • Descargas recurrentes o recursivas, puede descargar directorios web completos descargarlos en una secuencia, repitiendo el proceso recursivamente hasta que todas las páginas hayan sido descargadas o hasta que haya sido alcanzada una profundidad de repetición máxima especificada por el usuario. Las páginas descargadas son guardadas en una estructura de directorio que se parece a un servidor remoto. Esta descarga recurrente permite hacer una copia exacta de cualquier sistema de archivos parcial o completamente de un sitio web vía HTTP. En estos casos puede efectuar a demanda del usuario la conversión de los links de las páginas para que puedan funcionar offline.
  • El programa es completamente portable es decir podemos tenerlo en la memoria para efectuar las descargas de los archivos necesarios donde exista una buena conexión y tengamos acceso momentáneo, sin dejar ningún residuo u huella.
  • Wget soporta descargas a través de proxies, los cuales son ampliamente desplegados para proporcionar acceso web dentro de cortafuegos de empresas y al caché y rápidamente entregar contenido de frecuencia de acceso.
  • La velocidad de descarga puede ser limitada para evitar consumir todo el ancho de banda disponible.

¿Que son las descargas recursivas?

Es indiscutible la ventaja de utilizar wget a la hora de descargar cualquier tipo de archivo de internet, pero donde es imprescindible su uso es cuando necesitamos hacer descargas recursivas.

Una descarga recursiva no es más que la descarga de forma automática de todos los archivos vinculados a la página indicada, para lograr que esta funcione totalmente al usarla offline.

Existen varias opciones al usar el modo recursivo en Wget.

  • Descarga recursiva de un sitio, es la opción menos utilizada por que son pocas las personas que necesitan descargar un árbol completo de un sitio web, así y todo es posible utilizando la syntax "WGET -R ln" donde con n es un número con el cual podemos limitar la cantidad de subdirectorios, la opción predeterminada es 5 que generalmente es suficiente.
  • Descargar una página web pero con todos los archivos necesarios para mostrarse correctamente, en este caso se descargarán las imágenes, otros archivos multimedia los scripts externos, css, etc.
  • Descargar un página web al igual que la opción anterior con todos los archivos necesarios, pero en este caso incluir todas las páginas a los que conducen dichos vínculos. También es posible al finalizar la descarga que wget sincronice los links para que este relativamente operativa página sin conexión.

Usar WGET en la práctica

Es posible usar wget de varias formas.

  • Introduciendo los comandos directamente en la consola de CMD o Símbolo del sistema, lo que es bastante engorroso para los usuarios comunes y debemos dedicarle mucho más tiempo si utilizamos frecuentemente la aplicación.
  • Emplear archivos batch, configurados cada uno de acuerdo al tipo de descarga que vamos a realizar.
  • Utilizar la aplicación gratis "VisualWget", posee una interfaz para utilizarla en Windows, trabaja encadenada con WGET para realizar cualquier descarga.
  • Su uso ofrece las siguientes ventajas:
    • Crea una cola de descarga siendo posible configurar el número de descargas simultaneas a realizar.
    • Captura el contenido del portapapeles, es decir al copiar la dirección url en un link del navegador, la capturará y comenzara su descarga de forma automática.
    • Ofrece soporte para el idioma español por lo que se hace más fácil su uso y configuración.Es al igual que WGET software de código abierto, en el comprimido ya viene incluido el ejecutable de WGET, la última versión para Windows que es la 1.11.4b.
  • Otra opcion es utilizar un script escrito en lenguaje VBScript diseñado específicamente para re-direccionar los links del navegador a Wget. Es una de las formas más sencillas y prácticas de utilizar wget. Funciona arrastrando los links directamente del navegador web, hacia una carpeta en la que se encuentra el script, esta carpeta lo idóneo es tenerla en el escritorio. El script ira descargando consecutivamente todos los links que deposites en esa carpeta y a medida que termine con cada uno los ira eliminando.

Las dos últimas opciones tienen limitaciones parecidas, no son posible de utilizar para realizar descargas con opciones avanzadas, solo son factible de emplear a la hora de realizar varias descargas consecutivas pero solo de páginas web aisladas, en el caso de VisualWegt además cualquier cosa que copies al portapapeles lo interpretará como una orden para su descarga. Es decir para las descargas recursivas la opción ideal es utilizar un archivo batch.


Como realizar descargas recursivas con WGET utilizando archivos batch

Los archivos batch son herramientas ideales para ejecutar ordenes en la línea comandos de Windows, sin tener conocimientos avanzados, ni tener que introducir dichas ordenes manualmente en la consola de CMD.

Solo es necesario copiar y pegar el código en un archivo de texto que puede ser hecho con el Bloc de notas y guardar el archivo resultante con la extensión de archivo .cmd en vez de la clásica .txt

Al dar dos clics en el archivo creado, Windows abrirá la consola de CMD y ejecutará las órdenes o comandos contenidos en el archivo.

Si no has escrito ningún batch antes prueba con el primero.

Copia y pega en el Bloc de notas el texto siguiente y haz lo que se indicó anteriormente, guárdalo como prueba.cmd y después da dos clics en él.

@ECHO OFF

DIR
PAUSE

Ejemplos prácticos de archivos batch para usar WGET

1- Primer ejemplo, archivo batch para realizar una descarga recursiva.

@ECHO OFF

wget -r -c -k http://www.apache.org/

Pruébalo pero cuando compruebes que funciona detenlo, porque si no, proseguirá hasta descargar el servidor completo de Apache.org.

2- Segundo ejemplo, con este descargas una página, en este caso es la página de Wget en la Wikipedia, pero asegurando de descargar todos sus elementos y que tenga la extensión de archivo html.

@ECHO OFF

wget -p -E -nd http://es.wikipedia.org/wiki/Wget

3- Descargar página web y también todos los archivos a los que apunten los links que se encuentren en dicha página, pero solo con dos directorios de profundidad.

@ECHO OFF

wget -r -l2 -p -c
http://xhtml.com/en/xhtml/reference/index.html

4- Ejemplo de descarga de archivo segura.

@ECHO OFF

wget -c -S -r
http://download.mozilla.org/?product=firefox-4.0&os=win&lang=es-ES

Con este batch se descarga el instalador de Firefox, la versión 4, puedes interrumpir la descarga que cuando se ejecute el archivo batch de nuevo, proseguirá en el mismo punto donde se detuvo.

5- Ejemplo de la descarga de un archivo y la verificación posteriormente de su time-stamping, es decir si existe otro con el mismo nombre, pero varíe su fecha de creación o de modificación.

@ECHO OFF

wget -N http://www.ssd.noaa.gov/goes/east/carb/vis.jpg

Este archivo batch descargará una foto de satélite del servicio meteorológico, pero cada vez que vuelvas a ejecutarlo, verificará en el servidor si hay alguna imagen más reciente de la que descargaste, si no mantendrá la original intacta.

Más ejemplos prácticos puedes encontrarlos en la siguiente página, que es una continuación de este artículo: códigos y ejemplos prácticos para usar WGET.

Sintaxis y las principales opciones de WGET

En la siguiente tabla se listan los principales modificadores para usar Wget.

La aplicación permite muchas otros, las que se pueden consultar en su página de ayuda (en inglés), a la que se puede acceder usando el siguiente vínculo: www.gnu.org/software/wget/manual/wget.html

Wget admite dos formas de usar las opciones, utilizando el nombre completo o uno corto abreviado que es la manera más práctica.

En la tabla se muestran las dos opciones.

Nombre corto Nombre largo Descripción
-o archivo --output-file=archivo Guarda todo el informe de la operación en un archivo de texto, si se vuelve a realizar sobrescribe el archivo. Usando -a se agrega información al archivo ya creado.
-S --server-response Muestra los encabezados o http headers enviados por la aplicación y las respuestas recibidas del servidor.
-d --debug Modo desarrollador, muestra información más detallada.
-nv --no-verbose Se muestra solo información resumida.
-i archivo --input-file=archivo Lee las direcciones URL de un archivo de texto externo.
-t numero --tries=numero Se especifica el número de reintentos a realizar. Usa 0 o inf para infinitos reintentos. La opción predeterminada es 20.
-c --continue Continúa descargando un archivo descargado parcialmente al ocurrir un error en la conexión, o que esta se haya cancelado deliberadamente.
-E --adjust-extension Agrega a las páginas web que no la posean la extensión .html para facilitar su ejecución offline.
-p --page-requisites Al usar esta opción Wget descarga todos los archivos necesarios para que una página funcione offline, se descargarán imágenes, css, scripts, etc.
-r --recursive Crea una descarga recursiva, es decir se descargan todos los archivos a los que apunten los links en la página.
-m --mirror Crea un espejo o imagen de un sitio, similar a una descarga recursiva pero sin ninguna restricción, es lo mismo que utilizar las opciones: -r -l inf -N.
-l numero --level=numero Especifica el nivel de profundidad en las descargas recursivas, el predeterminado es 5.
-k --convert-links Después de finalizar la descarga, Wget re-escribe los links para que apunten directamente a los archivos descargados en el equipo y de esa forma estén funcionales las paginas descargadas.
-nc --no-clobber Impide que se vuelvan a descargar archivos que están ya en el equipo.
-nd --no-directories No crea directorios en las descargas recursivas.
-P carpeta --directory-prefix=carpeta Permite establecer un directorio o carpeta determinado para todas las descargas.
-A archivos --accept archivos Permite especificar qué tipo de archivos solo se desean descargar, se relacionan separados por comas.
-R archivos --reject archivos Permite especificar qué tipo de archivos se desean rechazar, se relacionan separados por comas.
-I directorios --include directorios Restringir directorios de los que solo descargar archivos en el modo recursivo, relacionarlos separados por comas.
-X directorios --exclude directorios Inversa a la opcion anterior, restringir directorios.
-np --no-parent Evita descargar los archivos de directorios superiores, aunque los links apunten a ellos en descargas recursivas.
-N --timestamping Verifica la la fecha de la última modificación del archivo solicitado, si existe una copia en nuestro equipo y solo lo descarga del servidor si existe una copia más reciente.
-O nombre --output-document=nombre Permite renombrar un archivo.
--referer=url Permite incluir la dirección de la página de referencia, para poder descargar archivos que estén protegidos contra el hotlinking.
--spider Hace que Wget funcione como la araña de un buscador web, comprueba y muestra información sin descargar nada.
--limit-rate=cantidad Limita la velocidad de descarga a una determinada cantidad de bytes por segundos. Para expresarla en kilobytes usa el sufijo k, o m para megabytes.
--no-cache Deshabilita el cache, Wget enviará al servidor la directiva Pragma: no-cache para obtener los archivos directamente del servidor remoto.

Infografía: Descargar un archivo de internet usando WGET


A veces una sola imagen nos dice más que todo un artículo.
La siguiente imagen muestra cómo usar WGET para descargar un archivo desde internet, creando un sencillo archivo batch con el Bloc de notas.
Infografía que muestra como descargar un archivo de internet usando WGET


Descarga de archivos para usar WGET

Descarga wget-1.11.4b, la ultima versión de Wget para Windows. Descarga wget-1.11.4b, la ultima versión de Wget para Windows.

Descargar script para re-direccionar a Wget los links del navegador Descargar script para re-direccionar a Wget los links del navegador