GNU/Linux >> Tutoriales Linux >  >> Linux

La guía de descarga definitiva de Wget con 15 ejemplos impresionantes

wget La utilidad es la mejor opción para descargar archivos de Internet. wget puede manejar prácticamente todas las situaciones de descarga complejas, incluidas descargas de archivos grandes, descargas recursivas, descargas no interactivas, descargas de archivos múltiples, etc.,

En este artículo, revisemos cómo usar wget para varios escenarios de descarga utilizando 15 impresionantes ejemplos de wget.

1. Descargar archivo único con wget

El siguiente ejemplo descarga un único archivo de Internet y lo almacena en el directorio actual.

$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Durante la descarga se mostrará una barra de progreso con la siguiente información:

  • % de finalización de la descarga (por ejemplo, 31 % como se muestra a continuación)
  • Cantidad total de bytes descargados hasta el momento (por ejemplo, 1 213 592 bytes, como se muestra a continuación)
  • Velocidad de descarga actual (por ejemplo, 68,2 K/s, como se muestra a continuación)
  • Tiempo restante para descargar (por ejemplo, eta 34 segundos como se muestra a continuación)

Descarga en curso:

$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Saving to: `strx25-0.9.2.1.tar.bz2.1'

31% [=================> 1,213,592   68.2K/s  eta 34s

Descarga completada:

$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Saving to: `strx25-0.9.2.1.tar.bz2'

100%[======================>] 3,852,374   76.8K/s   in 55s    

2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]

2. Descargar y almacenar con un nombre de archivo diferente usando wget -O

De forma predeterminada, wget elegirá el nombre de archivo de la última palabra después de la última barra diagonal, lo que puede no ser siempre apropiado.

Incorrecto: El siguiente ejemplo descargará y almacenará el archivo con el nombre:download_script.php?src_id=7701

$ wget http://www.vim.org/scripts/download_script.php?src_id=7701

Aunque el archivo descargado está en formato zip, se almacenará en el archivo como se muestra a continuación.

$ ls
download_script.php?src_id=7701

Correcto: Para corregir este problema, podemos especificar el nombre del archivo de salida usando la opción -O como:

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

3. Especifique la velocidad de descarga / Tasa de descarga usando wget –limit-rate

Al ejecutar el wget, por defecto intentará ocupar todo el ancho de banda posible. Es posible que esto no sea aceptable cuando se descargan archivos de gran tamaño en servidores de producción. Por lo tanto, para evitar eso, podemos limitar la velocidad de descarga usando la tasa de límite como se muestra a continuación.

En el siguiente ejemplo, la velocidad de descarga está limitada a 200k

$ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

4. Continúe con la descarga incompleta usando wget -c

Reinicie una descarga que se detuvo a la mitad usando la opción wget -c como se muestra a continuación.

$ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Esto es muy útil cuando ha iniciado la descarga de un archivo muy grande que se interrumpió en el medio. En lugar de iniciar la descarga completa nuevamente, puede iniciar la descarga desde donde se interrumpió usando la opción -c

Nota: Si una descarga se detiene a la mitad, cuando reinicie la descarga nuevamente sin la opción -c, wget agregará .1 al nombre de archivo automáticamente como un archivo con el nombre anterior que ya existe. Si ya existe un archivo con .1, descargará el archivo con .2 al final.

5. Descargar en segundo plano usando wget -b

Para una descarga enorme, coloque la descarga en segundo plano usando la opción wget -b como se muestra a continuación.

$ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Continuing in background, pid 1984.
Output will be written to `wget-log'.

Iniciará la descarga y le devolverá el indicador de shell. Siempre puede verificar el estado de la descarga usando tail -f como se muestra a continuación.

$ tail -f wget-log
Saving to: `strx25-0.9.2.1.tar.bz2.4'

     0K .......... .......... .......... .......... ..........  1% 65.5K 57s
    50K .......... .......... .......... .......... ..........  2% 85.9K 49s
   100K .......... .......... .......... .......... ..........  3% 83.3K 47s
   150K .......... .......... .......... .......... ..........  5% 86.6K 45s
   200K .......... .......... .......... .......... ..........  6% 33.9K 56s
   250K .......... .......... .......... .......... ..........  7%  182M 46s
   300K .......... .......... .......... .......... ..........  9% 57.9K 47s

Además, asegúrese de revisar nuestro artículo anterior de colas múltiples sobre cómo usar el comando de cola de manera efectiva para ver varios archivos.

6. Enmascare el agente de usuario y muestre wget como navegador usando wget –user-agent

Algunos sitios web pueden impedirle descargar su página identificando que el agente de usuario no es un navegador. Entonces puede enmascarar el agente de usuario usando las opciones de agente de usuario y mostrar wget como un navegador como se muestra a continuación.

$ wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD

7. URL de descarga de prueba con wget –spider

Cuando vaya a realizar una descarga programada, debe comprobar si la descarga se realizará bien o no a la hora programada. Para hacerlo, copie la línea exactamente del cronograma y luego agregue la opción –spider para verificar.

$ wget --spider DOWNLOAD-URL

Si la URL dada es correcta, dirá

$ wget --spider download-url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

Esto asegura que la descarga tendrá éxito a la hora programada. Pero cuando proporcionó una URL incorrecta, obtendrá el siguiente error.

$ wget --spider download-url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!

Puede utilizar la opción de araña en los siguientes escenarios:

  • Compruebe antes de programar una descarga.
  • Supervisar si un sitio web está disponible o no en ciertos intervalos.
  • Consulte una lista de páginas de su marcador y descubra qué páginas aún existen.

8. Aumente el número total de intentos de reintento con wget –tries

Si la conexión a Internet tiene problemas, y si el archivo de descarga es grande, existe la posibilidad de fallas en la descarga. De forma predeterminada, wget vuelve a intentarlo 20 veces para que la descarga sea exitosa.

Si es necesario, puede aumentar los reintentos usando la opción –tries como se muestra a continuación.

$ wget --tries=75 DOWNLOAD-URL

9. Descargar varios archivos/URL con Wget -i

Primero, almacene todos los archivos de descarga o URL en un archivo de texto como:

$ cat > download-file-list.txt
URL1
URL2
URL3
URL4

A continuación, proporcione download-file-list.txt como argumento para wget usando la opción -i como se muestra a continuación.

$ wget -i download-file-list.txt

10. Descargue un sitio web completo usando wget –mirror

La siguiente es la línea de comando que desea ejecutar cuando desee descargar un sitio web completo y ponerlo a disposición para su visualización local.

$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
  • –mirror:activa las opciones adecuadas para duplicar.
  • -p :descarga todos los archivos necesarios para mostrar correctamente una página HTML dada.
  • –convert-links :después de la descarga, convierte los enlaces en el documento para verlos localmente.
  • -P ./LOCAL-DIR :guarda todos los archivos y directorios en el directorio especificado.

11. Rechazar ciertos tipos de archivos durante la descarga usando wget –reject

Ha encontrado un sitio web que es útil, pero no desea descargar las imágenes, puede especificar lo siguiente.

$ wget --reject=gif WEBSITE-TO-BE-DOWNLOADED

12. Registrar mensajes en un archivo de registro en lugar de stderr Usando wget -o

Cuando quería que el registro fuera redirigido a un archivo de registro en lugar de a la terminal.

$ wget -o download.log DOWNLOAD-URL

13. Deje de descargar cuando exceda cierto tamaño usando wget -Q

Cuando desee detener la descarga cuando supere los 5 MB, puede usar la siguiente línea de comando wget.

$ wget -Q5m -i FILE-WHICH-HAS-URLS

Nota: Esta cuota no tendrá efecto cuando descargue una sola URL. Eso es, independientemente del tamaño de la cuota, todo se descargará cuando especifique un solo archivo. Esta cuota es aplicable solo para descargas recursivas.

14. Descargue solo ciertos tipos de archivos usando wget -r -A

Puede usar esto en las siguientes situaciones:

  • Descargar todas las imágenes de un sitio web
  • Descargar todos los videos de un sitio web
  • Descargar todos los archivos PDF desde un sitio web
$ wget -r -A.pdf http://url-to-webpage-with-pdfs/

15. Descarga FTP con wget

Puede usar wget para realizar una descarga FTP como se muestra a continuación.

Descarga FTP anónima usando Wget

$ wget ftp-url

Descarga FTP usando wget con autenticación de nombre de usuario y contraseña.

$ wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL

Si te ha gustado este artículo, marcalo con delicious o Stumble.


Linux
  1. Conceptos básicos de Linux:cómo descargar archivos en el Shell con Wget

  2. Los 10 principales casos de uso del comando Wget (con ejemplos)

  3. Comando Wget en Linux con ejemplos

  4. 5 ejemplos de comandos Wget para descargar archivos en Linux.

  5. '&&' vs. '&' con el comando 'test' en Bash

Cómo descargar archivos con el comando Wget en Linux

La guía definitiva para la manipulación de imágenes con ImageMagick

Synology NAS a Glacier Backup:la guía definitiva

El tutorial Ultimate Tar Command con 10 ejemplos prácticos

HowTo:El último tutorial del comando Logrotate con 10 ejemplos

La guía definitiva para principiantes sobre alojamiento de sitios web estáticos con Google Firebase (GRATIS)