wget es una utilidad de línea de comandos no interactiva para descargar recursos de 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 de otro modo inestables.

Si bien wget no esta en 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 del sitio web de Homebrew.

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

Es posible que observe 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. Instalar wget

Una vez que 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 de software) que se requieren para ejecutar wget en su sistema.

Si ya tiene instalado Homebrew, asegúrese de ejecutarlo brew update para obtener las últimas actualizaciones.

3. Usando wget

El propósito de wget es descargar contenido de URL. Es una herramienta no interactiva rápida y simple para descargar archivos desde cualquier URL de acceso público.

Descargar un solo archivo con wget

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/home/local.copy http://aaa.com/download.html

Eso guardará el archivo especificado en la URL en la ubicación especificada en su máquina. Si -O se excluye la bandera, la URL especificada se descargará al directorio de trabajo actual.

Descargar un directorio recursivamente con wget

Para descargar un árbol de directorios completo con wget, debe usar las banderas -r/–recursive y -np/–no-parent flags asi:

wget -e robots=off -r -np https://www.w3.org/History/19921103-hypertext/hypertext/

Esto hará que wget siga cualquier enlace que se encuentre en los documentos dentro del directorio especificado, descargando recursivamente la ruta URL especificada completa.

Ese comando también incluye -e robots=off, que ignora las restricciones en el archivo robots.txt.

En general, es una buena idea deshabilitar robots.txt para evitar descargas abreviadas.

Otras opciones de wget

Además de las banderas anteriores, este puñado seleccionado de banderas de wget es el más útil:

Controlando la descarga con wget

wget -X /absolute/path/to/dir excluirá un directorio específico en el servidor remoto.

wget -nH elimina los directorios del nombre 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 principales 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 usar 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 ser analizado 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á descargas de archivos parcialmente descargados.

wget -t 10 intentará descargar el recurso hasta 10 veces antes de fallar.

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 revisar la página de manual de GNU de wget en línea