Con el terminal: Bajar un sitio web completo con Wget

He encontrado en HumanOS un excelente tip que nos enseña como descargar un sitio web completo haciendo uso de Wget.

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 :D

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 :D 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/


elav

elav: Blog Personal / Twitter / G+ / Usuario de ArchLinux. Informático, melómano, blogger y diseñador web. Administrador y Fundador de DesdeLinux.net.


32 comentarios en “Con el terminal: Bajar un sitio web completo con Wget

Deja un comentario

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

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *

  1. No hay algo para bajar solo las imagenes xd?

    1/32
  2. eh una preguntonta jeje donde se guardan los archivos que descargo? Me van a querer matar no? jajaja

    4/32
  3. Ahh, no me imagine que wget pudiera tener un uso tan interesante… Ahora, respecto al uso que menciona Courage… Sin palabras ;)

    14/32
  4. ¿Alguien sabe si existe alguna extensión (“plug-in”) de WordPress que impida que Wget descague tu blog?

    18/32
  5. Pues me viene genial!! Gracias

    19/32
  6. Muy bueno, probemos a ver que tal, gracias por el aporte.

    20/32
  7. Aunque me considero principiante esto se me hace sencillo ahora intentare mezclarlo con otras cosas y ver que da….

    21/32
  8. 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.

    22/32
    • 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 ;)

      23/32
  9. yo siempre he usado httrack. Scrapbook para firefox voy a probarlo, pero lo de wget me encanta. Gracias!

    25/32
  10. Man, no me funco el comando… este si me funko bien:

    wget –random-wait -r -p -e robots=off -U mozilla http://www.example.com

    26/32
  11. Gracias, muchacho, eso lo hacía con WGet en mi puppy linux pero no sabía cómo se hace en terminal. Un saludo

    28/32
  12. donde guarda las paginas??

    29/32
  13. Tambien baja los enlaces? osea si hay un enlace a un pdf u otro documento tambien lo descarga?

    31/32
  14. Pingback: Descarga sitio web completo con wget aún si hay restricciones

Deja un comentario

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

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *