Volver al blog
Linux

Descargar una página web completa usando wget y nohup

6 may 2020· 3 min de lectura
Descargar una página web completa usando wget y nohup

En este tutorial, explicaré 2 maneras de bajar una página web completa usando la interfaz de linea de comando wget.

  • La primera es usando solo un comando que no se ejecuta en segundo plano.
  • La segunda se ejecuta en segundo plano y en un "shell" diferente para que pueda salir de su sesión ssh y continuará de cualquier manera.

Primero prepare una carpeta para descargar los sitios web y comience su descarga, tenga en cuenta que si descarga www.midominio.com tendrá una carpeta como:

text
/misplantillas/www.midominio.com/

Paso 1:

bash
mkdir /misplantillas/
cd /misplantillas/

Paso 2:

1er Camino

bash
wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://www.midominio.com

2do Camino

En el fondo haga un nohup en frente y en la parte posterior

bash
nohup wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://www.midominio.com &

Luego liste el directorio donde ejecutó wget (se ha creado un archivo nohup.out) hagamos un tail -f

bash
tail -f nohup.out

Significado de todos los interruptores:

InterruptorDescripción
--limit-rate=200kLimite de descarga a 200 Kb/seg.
--no-clobberNo sobrescriba ningún archivo existente (usado en caso de que la descarga se interrumpa y se reanude).
--convert-linksConvertir enlaces para que funcionen localmente, fuera de línea, en lugar de apuntar a un sitio web en línea.
--random-waitEsperas aleatorias entre descargas (a los sitios web no les gusta la descarga de sus archivos estáticos).
-rRecursivo, descarga el sitio web completo.
-pDescarga todo, incluso imágenes, hojas de estilo, java scripts, etc.
-EObtiene la extensión correcta del archivo, sin la mayoría de html y otros archivos que no tienen extensión.
-e robots=offActuar como si no fuéramos un robot, no como un rastreador, a los sitios web no les gustan los robots rastreadores a menos que sean de Google u otro motor de búsqueda famoso.
-U mozillaPretender ser como un navegador Mozilla que está mirando la página en lugar de un rastreador wget.

Las razones del por qué no se incluyó lo siguiente:

InterruptorDescripción
-o=/websitedl/wget1.txtRegistrar todo para wget log.txt, no hice esto porque no me dio salida en la pantalla y no me gusta esa identificación, prefiero usar nohup y & y tail -f con la salida de nohup.out
-bEjecución en segundo plano, no puedo ver el progreso, me gusta más nohup <commands> &
--domain=midominio.comAlojamiendo de Google, es posible que se deba ingresar a los dominios de Google
--restrict-file-names=windowsModifica los nombres de archivo para que también funcionen en Windows, parece funcionar bien sin él

Si te gustó compártelo o ponlo en práctica...

Foto de Marco Torres

Marco Torres

Desarrollador Full-Stack senior con DevOps y arquitectura cloud, y Bachiller en Ingeniería de Sistemas. Escribo sobre arquitectura escalable y las lecciones de llevar sistemas a producción — desde la trinchera.

¿Estás llevando esto a producción?

Si necesitas apoyo con arquitectura escalable, cloud o DevOps, conversemos sobre tu proyecto.

Conversemos