Nada mejor que Wikipedia para explicar en que consiste esta herramienta:

GNU Wget es una herramienta de software libre que permite la descarga de contenidos desde servidores web de una forma simple. Su nombre deriva de World Wide Web (w), y de «obtener» (en inglés get), esto quiere decir: obtener desde la WWW.

Actualmente soporta descargas mediante los protocolos HTTP, HTTPS y FTP.

Entre las características más destacadas que ofrece wget está la posibilidad de fácil descarga de mirrors (espejos) complejos de forma recursiva, conversión de enlaces para la visualización de contenidos HTML localmente, soporte para proxies…

Es cierto que existen otras aplicaciones que nos ayudan a realizar este tipo de labores como httrack o incluso extensiones para Firefox como Scrapbook, pero nada como la sencillez de un terminal 😀

Haciendo la magia

Me resultó curioso en la película: The Social Network, como el personaje de Mark_Zuckerberg usa la frase: “Un poco de wget mágico“, cuando se disponía a descargar las fotos para Facemash 😀 y es cierto, wget permite hacer magia con los parámetros adecuados.

Veamos un par de ejemplo, comencemos con el uso sencillo de la herramienta.

Para bajar una página:

$ wget http://blog.desdelinux.net/con-el-terminal-bajar-un-sitio-web-completo-con-wget

Para bajar el sitio completo de forma recursiva, incluyendo imágenes y otros tipos de datos:

$ wget -r http://blog.desdelinux.net/

Y aquí viene la magia. Como bien nos explican en el artículo de HumanOS, muchos sitios verifican la identidad del navegador para aplicar diversas restricciones. Con Wget podemos burlar esto de la siguiente forma:

wget  -r -p -U Mozilla http://blog.desdelinux.net/

O también podemos hacer pausa entre cada página, ya que de lo contrario el dueño del sitio puede darse cuenta que e estamos bajando el sitio completamente con Wget.

wget --wait=20 --limit-rate=20K -r -p -U Mozilla http://blog.desdelinux.net/

34 Comentarios

  1. Espero me puedan ayudar porque es para el lunes 3 de diciembre del 2012

    El proyecto a desarrollar es el siguiente :

    Reubicacion de un sitio web ajustando las referencias href.
    1.-Considerando un sitio Web, descargar el sitio completo a un directorio local mediante el comando wget. Y mediante un script de su autoría realizar las siguientes operaciones:

    1.1.-Crear un directorio independiente para cada tipo de contenido: imágenes gif, imágenes jpeg, etc, vídeos avi, vídeos mpg, etc, audio mp3, audio wav, etc., contenido web (HTML, javascript, etc).

    1.2.-Una vez que se ha reubicado cada uno de estos contenidos, llevar a cabo el ajuste de las referencias hacía las ubicaciones locales de cada recurso del sitio.

    1.3.-Activar un servidor Web, y configurar el directorio raíz en donde se encuentra el respaldo del sitio Web como el directorio root del servidor Web local.

    1.4.-Nota: el comando wget solo se podrá usar con las opciones siguientes:
    –recursive
    –domains
    –page-requisites
    Si por alguna razón son necesario mas comandos, utilizar los necesarios.

    • Para descargar acá creo que tienes la solución en el post, ahora … para mover archivos y reemplazar las rutas, yo tuve que hacer algo así hace un tiempo en mi trabajo, te dejo el script que usé: http://paste.desdelinux.net/4670

      Lo modificas teniendo en cuenta el tipo de archivo y la ruta, o sea, como están conformados los .HTMLs del sitio tuyo y eso.

      Esto no es la solución 100% pues debes hacerle algunos arreglos o cambios pero, te garantizo que es el 70 u 80% de todo el trabajo 😉

  2. Que puedo hacer para bajar mi blog completo ,lo intente y lo que bajo no lo puedo ver parece que esta en codigos o bloqueado ,a pesar de tardar muchas horas para bajar pero solo la pagina inicial se puede leer,que me recomienda para poder bajar mi blog,gracias raul.

  3. hola, una duda es posible reemplazar los links dentro de los html, para posteriormente poder navergar por la pagina descargada como si fuera la original.

    lo que pasa es que descargue la pagina y cuando la abrí desde los archivos descargados no me tomaba los .css ni los .js y los links en la pagina me llevan a la pagina en Internet.

Dejar respuesta