Cómo usar el comando wget Linux para descargar páginas web y archivos

La utilidad wget le permite descargar páginas web, archivos e imágenes de la web utilizando la línea de comandos de Linux. Puede usar un solo comando wget para descargar desde un sitio o configurar un archivo de entrada para descargar varios archivos en varios sitios.

La utilidad wget le permite descargar páginas web, archivos e imágenes de la web utilizando la línea de comandos de Linux.

Puede usar un solo comando wget para descargar desde un sitio o configurar un archivo de entrada para descargar varios archivos en varios sitios.

De acuerdo con la página del manual, wget se puede utilizar incluso cuando el usuario haya cerrado sesión en el sistema. Para hacer esto, usaría el comando nohup .

La utilidad wget volverá a intentar una descarga incluso cuando la conexión se caiga, reanudando desde donde se quedó si es posible cuando la conexión regrese.

Puede descargar sitios web completos con wget y convertir los enlaces para que apunten a fuentes locales para que pueda ver un sitio web sin conexión.

Las características de wget son las siguientes:

  • Descargar archivos usando HTTP, HTTPS y FTP
  • Reanudar descargas
  • Convierta enlaces absolutos en páginas web descargadas a URL relativas para que los sitios web puedan verse sin conexión
  • Admite proxy HTTP y cookies
  • Admite conexiones HTTP persistentes
  • Puede ejecutarse en segundo plano incluso cuando no haya iniciado sesión
  • Funciona en Linux y Windows.

Cómo descargar un sitio web usando wget

Para esta guía, aprenderá cómo descargar este blog de Linux.

 wget www.everydaylinuxuser.com 

Vale la pena crear su propia carpeta en su máquina con el comando mkdir y luego pasar a la carpeta con el comando cd .

Por ejemplo:

 mkdir everydaylinuxuser 
cd everydaylinuxuser
wget www.everydaylinuxuser.com

El resultado es un solo archivo index.html. Por sí solo, este archivo es bastante inútil ya que el contenido aún se extrae de Google y las imágenes y hojas de estilo todavía se conservan en Google.

Para descargar el sitio completo y todas las páginas, puede usar el siguiente comando:

 wget -r www.everydaylinuxuser.com 

Esto descarga las páginas de forma recursiva hasta un máximo de 5 niveles de profundidad.

Cinco niveles de profundidad pueden no ser suficientes para obtener todo del sitio. Puede usar el interruptor -l para establecer la cantidad de niveles a los que desea ir de la siguiente manera:

 wget -r -l10 www.everydaylinuxuser.com 

Si desea una recursión infinita, puede usar lo siguiente:

 wget -r -l inf www.everydaylinuxuser.com 

También puede reemplazar inf con 0, lo que significa lo mismo.

Todavía hay un problema más. Es posible que obtenga todas las páginas localmente, pero todos los enlaces en las páginas aún apuntan a su lugar original. Por lo tanto, no es posible hacer clic localmente entre los enlaces de las páginas.

Puede solucionar este problema utilizando el modificador -k que convierte todos los enlaces en las páginas para señalar su equivalente descargado localmente de la siguiente manera:

 wget -r -k www.everydaylinuxuser.com 

Si desea obtener un espejo completo de un sitio web, simplemente puede usar el siguiente interruptor que elimina la necesidad de usar los interruptores -r -k y -l .

 wget -m www.everydaylinuxuser.com 

Por lo tanto, si tiene su propio sitio web, puede hacer una copia de seguridad completa con este simple comando.

Ejecute wget como comando de fondo

Puede hacer que wget se ejecute como un comando en segundo plano, lo que le permite continuar con su trabajo en la ventana del terminal mientras se descargan los archivos.

Simplemente use el siguiente comando:

 wget -b www.everydaylinuxuser.com 

Por supuesto, puede combinar interruptores. Para ejecutar el comando wget en segundo plano mientras refleja el sitio, usaría el siguiente comando:

 wget -b -m www.everydaylinuxuser.com 

Puede simplificar esto aún más de la siguiente manera:

 wget -bm www.everydaylinuxuser.com 

Inicio sesión

Si está ejecutando el comando wget en segundo plano, no verá ninguno de los mensajes normales que envía a la pantalla.

Puede recibir todos esos mensajes en un archivo de registro para que pueda verificar el progreso en cualquier momento utilizando el comando tail .

Para enviar información del comando wget a un archivo de registro, use el siguiente comando:

 wget -o/ruta/a/mylogfile www.everydaylinuxuser.com 

Lo contrario, por supuesto, es no requerir ningún registro y ninguna salida a la pantalla. Para omitir todos los resultados, use el siguiente comando:

 wget -q www.everydaylinuxuser.com 

Descargar desde múltiples sitios

Puede configurar un archivo de entrada para descargar desde muchos sitios diferentes.

Abra un archivo usando su editor favorito o incluso el comando cat y simplemente comience a enumerar los sitios o enlaces para descargar desde cada línea del archivo.

Guarde el archivo y luego ejecute el siguiente comando wget :

 wget -i/ruta/a/inputfile 

Además de hacer una copia de seguridad de su propio sitio web o tal vez encontrar algo para descargar para leer en el tren, es poco probable que desee descargar un sitio web completo.

Es más probable que descargue una única URL con imágenes o tal vez descargue archivos como archivos zip, archivos ISO o archivos de imágenes.

Con eso en mente, no querrás tener que escribir lo siguiente en el archivo de entrada, ya que lleva mucho tiempo:

  • http://www.myfileserver.com/file1.zip
  • http://www.myfileserver.com/file2.zip
  • http://www.myfileserver.com/file3.zip

Si sabe que la URL base siempre será la misma, puede especificar lo siguiente en el archivo de entrada:

  • file1.zip
  • file2.zip
  • file3.zip

Luego puede proporcionar la URL base como parte del comando wget de la siguiente manera:

 wget -B http://www.myfileserver.com -i/path/to/inputfile 

Opciones de reintento

Si ha configurado una cola de archivos para descargar dentro de un archivo de entrada y deja su computadora funcionando toda la noche para descargar los archivos, se sentirá bastante molesto cuando baje por la mañana y descubra que se atascó en el primer archivo y ha estado reintentando toda la noche.

Puede especificar el número de reintentos con el siguiente modificador:

 wget -t 10 -i/ruta/a/inputfile 

Es posible que desee utilizar el comando anterior junto con el interruptor -T que le permite especificar un tiempo de espera en segundos de la siguiente manera:

 wget -t 10 -T 10 -i/ruta/a/inputfile 

El comando anterior volverá a intentarlo 10 veces e intentará conectarse durante 10 segundos para cada enlace del archivo.

También es bastante molesto cuando ha descargado parcialmente el 75% de un archivo de 4 gigabytes en una conexión de banda ancha lenta solo para que su conexión se desconecte.

Puede usar wget para volver a intentar desde donde dejó de descargar utilizando el siguiente comando:

 wget -c www.myfileserver.com/file1.zip 

Si está martillando un servidor, es posible que al host no le guste demasiado y que bloquee o simplemente elimine sus solicitudes.

Puede especificar un período de espera que especifique cuánto tiempo esperar entre cada recuperación de la siguiente manera:

 wget -w 60 -i/ruta/a/inputfile 

El comando anterior esperará 60 segundos entre cada descarga. Esto es útil si está descargando muchos archivos de una sola fuente.

Sin embargo, algunos servidores web pueden detectar la frecuencia y bloquearlo de todos modos. Puede hacer que el período de espera sea aleatorio para que parezca que no está utilizando un programa de la siguiente manera:

 wget --random-wait -i/path/to/inputfile 

Protección de los límites de descarga

Muchos proveedores de servicios de Internet aún aplican límites de descarga para su uso de banda ancha, especialmente si vive fuera de una ciudad.

Es posible que desee agregar una cuota para no superar ese límite de descarga. Puede hacerlo de la siguiente manera:

 wget -q 100m -i/ruta/a/inputfile 

Tenga en cuenta que el comando -q no funcionará con un solo archivo. Entonces, si descarga un archivo que tiene un tamaño de 2 gigabytes, el uso de -q 1000m no detendrá la descarga del archivo.

La cuota solo se aplica cuando se descarga de forma recursiva desde un sitio o cuando se usa un archivo de entrada.

Pasando por la seguridad

Algunos sitios requieren que inicie sesión para poder acceder al contenido que desea descargar.

Puede usar los siguientes modificadores para especificar el nombre de usuario y la contraseña.

 wget --user = yourusername --password = yourpassword 

Tenga en cuenta en un sistema multiusuario que si alguien ejecuta el comando ps podrá ver su nombre de usuario y contraseña.

Otras opciones de descarga

Por defecto, el interruptor -r descargará recursivamente el contenido y creará directorios a medida que avanza.

Puede descargar todos los archivos en una sola carpeta con el siguiente interruptor:

 wget -nd -r 

Lo contrario de esto es forzar la creación de directorios que se pueden lograr con el siguiente comando:

 wget -x -r 

Cómo descargar ciertos tipos de archivos

Si desea descargar de forma recursiva desde un sitio pero solo desea descargar un tipo de archivo específico, como un .mp3 o una imagen como un .png, puede usar la siguiente sintaxis:

 wget -A "* .mp3" -r 

Lo contrario de esto es ignorar ciertos archivos. Quizás no quieras descargar ejecutables. En este caso, usaría la siguiente sintaxis:

 wget -R "* .exe" -r 

Cliget

Hay un complemento de Firefox llamado cliget.Puede agregar esto a Firefox de la siguiente manera.

Visite https://addons.mozilla.org/en-US/firefox/addon/cliget/ y haga clic en el botón «Agregar a Firefox».

Haga clic en el botón de instalación cuando aparezca y deberá reiniciar Firefox.

Para usar cliget, visite la página o el archivo que desea descargar y haga clic derecho. Aparecerá un menú contextual llamado cliget y habrá opciones para «copiar a wget » y «copiar a curl».

Haga clic en la opción «copiar a wget » y abra una ventana de terminal y luego haga clic derecho y pegue. El comando wget apropiado se pegará en la ventana.

Básicamente, esto le ahorra tener que escribir el comando usted mismo.

Resumen

El comando wget como una gran cantidad de opciones e interruptores.

Por lo tanto, vale la pena leer la página del manual para wget escribiendo lo siguiente en una ventana de terminal:

 hombre wget 

Rate article
labsfabs.com
Add a comment