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
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
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.