texto:   A-   A+
eliax

Cómo descargar un website completo desde Linux/UNIX con wget
eliax id: 6226 josé elías en feb 18, 2009 a las 07:43 AM ( 07:43 horas)
Si utilizas Linux o una variante de UNIX (como el mismo OS X) en donde puedas instalar o tengas acceso al comando wget, he aquí un truco que te gustará, ya que te permite descargar un website completo (es decir, todas las páginas web dentro de un mismo dominio) con una sola linea de comando, lo que resulta bastante útil.

El comando es el siguiente y lo debes escribir en una sola linea, aunque simplemente copia-pega directamente desde aquí a tu linea de comando y cambia el final que dice foo.com (nota que como es Linux/UNIX, que debes poner atención a las mayúsculas y minúsculas):

wget --random-wait --limit-rate=64k -e robots=off -r -p -U mozilla http://www.foo.com

Es importante entender por qué ciertas opciones del comando wget que utilizamos:

--random-wait significa que entre un pedido y otro al website, que espere un tiempo aleatorio, para así no pedir demasiadas páginas y archivos uno detrás de otro y alarmar a algún sistema de seguridad.

--limit-rate=64k significa que no pase de 64 KiloBytes por segundo en transferencia de datos. Este número depende de tu conexión a Internet, y no es recomendado que lo incrementes mucho para no alarmar al website remoto. También puedes especificar el valor en MB/s sustituyendo la "k" por una "m".

-e robots=off significa que wget no debe prestar atención al archivo robots.txt que indica cuáles páginas no deben accederse por un navegador web.

-r significa que queremos todo de manera recursiva.

-p indice que descargue todos los archivos para desplegar adecuadamente una página HTML.

-U mozilla significa que impersonifique a la familia Mozilla de navegadores (como Firefox).

Y finalmente sustituye http://www.foo.com por el website que deseas descargar.

Noten que este truco es bastante útil para esas páginas que ofrecen miles de fotos para diseñadores gráficos, pero que te hacen moverte una página a la vez de manera manual y lenta. Mientras que con esto puedes dejar a que wget "navegue y descargue" todo por ti.

Manual ("man page") de wget con las otras opciones que ofrece

autor: josé elías

Comentarios

  • y que pasa con los contenidos que estan dentro de bases de datos y que dependen de los parametros que se pasen por ejemplo
    if($_request["acceso"] == true){
    echo "contenido exclusibo";
    }
    que aria en este caso para descargar este tipo de contenido por que igual en las base de datos.

  • Hola Carlos, te escribo para otra cosa que no tiene que ver con este artículo, pero es que no encuentro un buen totorial o libro de J2EE, ya que me interesa aprender sobre los Java Beans. Recueda el curso que nos diste hace unos ańos, ya tenemos software hecho y queremos cambiarlo a Web.

    Gracias anticipadas
    Ramon L.

  • Muy útil el comando. Lo acabo de usar para realizar un backup de una web de mi interés.

  • ¿Existe algo similar para el ambiente Windows?

    Saludos

    • No igual, pero hace algo parecido.

      La extensión downthemall de firefox.

      Lo único que la extensión no es recursiva... pero algo es algo. jejeje.

    • A mí me funciona muy bien WinHTTrack (http://www.httrack.com/) y está para linux, windows y OS X (en OS X no lo he probado); funciona muy muy bien, excepto cuando se requiere autenticación

  • [c&p] Si utilizas Linux o una variante de UNIX (como el mismo OS X) en donde puedas instalar o tengas acceso al comando wget, he aquí un truco que te gustará, ya que te permite descargar un website completo (es decir, todas las páginas web dentro de un mismo dominio) con una sola linea de comando, lo que resulta bastante útil.

  • teleport pro hace eso, aunque es una utilidad comercial, pero ambas tienen que seguir ciertas reglas, el mismo wget obedece ciertas reglas no recuerdo ahora como se llama, que si tu le pones eso en tu página el no la descarga por completo.

  • Y para Mac? saben si existe algo? que descargue todo incluido los swf incorporados.

  • muchos servidores no permiten hacer esto por ello solicita autenticacion

  • Tengo lo siguiente, hay una paguina web con varios enlaces a archivos para decasgar via HTTP, cada archivo tiene una extencion diferente. Me intereza descargar solo el archivo cuya extension sea .tar. Es de informar que el nombre del archivo varia, pero la extensión es lo unico constante.
    No quiero descargar todo el site, debido a que varios archivos muy pezados de mas de 100mb y no los necesitos.

    Gracias.
    m. Ameneiro

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
9 + 8 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Ah, los radicales...

Entreteniendo al mundo con sus alarmismos extremos desde tiempos inmemorables.
"

por "Cloudpop" en jun 28, 2011


en camino a la singularidad...

©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax