wget es una utilidad de línea de comandos no interactiva para descargar recursos desde una URL específica. Debido a que no es interactivo, wget puede funcionar en segundo plano o incluso antes de que el usuario inicie sesión. El programa fue diseñado especialmente para conexiones deficientes, lo que lo hace especialmente robusto en condiciones que de otro modo serían inestables. Si bien wget no se envía con macOS, se puede descargar e instalar fácilmente con Homebrew, el mejor administrador de paquetes de Mac disponible.
1. Descargue e instale Homebrew
Para instalar Homebrew, abra una ventana de Terminal y ejecute el siguiente comando tomado de Sitio web de Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Puede notar el comando llamado curl
, que es una utilidad de línea de comandos diferente para descargar archivos desde una URL que se incluye en la instalación de Ruby incluida en macOS.
2. Instalación de wget
Una vez que se haya completado la instalación, usaremos Homebrew para instalar wget. En Terminal, ejecute el siguiente comando para descargar e instalar wget:
brew install wget
Obtendrá actualizaciones en vivo sobre el progreso de la descarga e instalación de las dependencias (requisitos previos del software) necesarias para ejecutar wget en su sistema.
Si ya tiene Homebrew instalado, asegúrese de ejecutar brew update
para obtener las últimas copias de todas sus fórmulas.
3. Usando wget
El propósito de wget es descargar contenido de URL. Es una herramienta no interactiva rápida y sencilla para descargar archivos desde cualquier URL de acceso público.
Descarga un solo archivo
Al igual que el comando curl similar, wget toma un recurso remoto de una URL y lo guarda en una ubicación específica en su computadora. La estructura del comando funciona así:
wget -O path/to/local.copy http://example.com/url/to/download.html
Eso guardará el archivo especificado en la URL en la ubicación especificada en su máquina. Si el -O
se excluye la bandera, la URL especificada se descargará al directorio de trabajo actual.
Descargar un directorio de forma recursiva
Para descargar un árbol de directorios completo con wget, debe usar el -r
/--recursive
y -np
/--no-parent
banderas, así:
wget -e robots=off -r -np https://www.w3.org/History/19921103-hypertext/hypertext/
Esto hará que wget siga los enlaces que se encuentren en los documentos dentro del directorio especificado, descargando de forma recursiva toda la ruta URL especificada.
Ese comando también incluye -e robots=off
, que ignora las restricciones del archivo robots.txt. En general, es una buena idea deshabilitar robots.txt para evitar descargas abreviadas.
Otras banderas wget
Además de las banderas anteriores, este puñado seleccionado de banderas de wget son las más útiles:
Controlando la descarga
-
wget -X /absolute/path/to/directory
excluirá un directorio específico en el servidor remoto. -
wget -nH
elimina los directorios de nombres de host. Recuerde, el nombre de host es la parte de la URL que contiene el nombre de dominio y termina en un TLD como «.com». Por ejemplo, la carpeta llamada «www.w3.org» en nuestro ejemplo anterior se omitiría, comenzando la descarga con el directorio «Historial» en su lugar. -
wget --cut-dirs=#
omite el número especificado de directorios en la URL antes de comenzar a descargar archivos. Por ejemplo,-nH --cut-dirs=1
cambiaría la ruta especificada de “ftp.xemacs.org/pub/xemacs/” a simplemente “/ xemacs /”, reduciendo el número de directorios padre vacíos en la descarga local. -
wget -R index.html
/wget --reject index.html
omitirá cualquier archivo que coincida con el nombre de archivo especificado. En este caso, excluirá todos los archivos de índice. El carácter * se puede utilizar como comodín, como «* .png», que omitiría todos los archivos con la extensión PNG. -
wget -i file
especifica las URL de destino de un archivo de entrada. El archivo de entrada debe ser un archivo HTML o analizarse como HTML con la marca adicional--force-html
-
wget -nc
/wget --no-clobber
no sobrescribirá los archivos que ya existen en el destino. -
wget -c
/wget --continue
continuará las descargas de archivos parcialmente descargados. -
wget -t 10
intentará descargar el recurso hasta 10 veces antes de fallar.
Ajustar el nivel de registro
-
wget -d
habilita la salida de depuración. -
wget -o path/to/log.txt
habilita el registro de salida en el directorio especificado en lugar de mostrar la salida estándar de inicio de sesión. -
wget -q
apaga toda la salida de wget, incluidos los mensajes de error. -
wget -v
habilita explícitamente la salida detallada de wget por defecto. -
wget --no-verbose
apaga los mensajes de registro pero muestra mensajes de error.
Conclusión
Si bien eso debería cubrir la mayoría de los casos de uso de wget, el descargador es capaz de mucho más. Para obtener una descripción completa de las capacidades de wget, puede revise la página de manual de GNU de wget en línea.
Si wget no le funciona en absoluto, es posible que desee diagnosticar primero los problemas con su conexión Wi-Fi.