Guía completa para instalar y usar wget en Windows y macOS

Microsoft Windows Command Prompt tiene mucho más potencial del que imaginas. Está fuera del alcance de un único artículo cubrirlo por completo, pero una de sus utilidades más útiles es wget.
Wget es un comando gratuito que descarga archivos desde Internet sin interfaz gráfica. El problema más habitual es el error “wget: command not found”, tanto en Windows como en macOS. Esta guía completa te ayudará a resolver ese problema y a usar wget con seguridad.

¿Qué es wget y para qué sirve?
Wget es una utilidad de línea de comandos que actúa como un rastreador web ligero. Descarga recursos mediante los protocolos HTTP, HTTPS y FTP. Con wget puedes:
- Descargar archivos individuales como PDF, imágenes o HTML.
- Realizar descargas recursivas de directorios y subdirectorios.
- Clonar una página o un sitio para uso local (respetando políticas y robots.txt).
- Controlar la velocidad de descarga y la cadencia de peticiones para no sobrecargar servidores.
Definición rápida: wget —descargador de archivos vía HTTP/HTTPS/FTP desde la terminal.
Important: Usa wget con responsabilidad. Respeta los términos del servidor y robots.txt, y evita sobrecargar sitios con descargas recursivas sin permiso.
Comprobar si wget está instalado en Windows
Sigue estos pasos para verificar si wget está disponible en tu sistema Windows:
- Pulsa la tecla Windows.
- Escribe cmd y presiona Enter para abrir el Símbolo del sistema.
- En la consola, escribe:
wget -VSi wget está instalado verás la versión y la información de compilación. Si recibes “‘wget’ no se reconoce como un comando interno o externo” o “wget: command not found”, debes instalarlo o añadirlo al PATH.
Cómo instalar wget en Windows (métodos recomendados)
Aquí tienes varias maneras fiables de instalar wget en Windows. Elige la que prefieras.
Opción A — Usar Chocolatey (recomendado para usuarios avanzados y administradores)
- Abre PowerShell como Administrador.
- Instala Chocolatey (si no lo tienes) siguiendo la documentación oficial.
- Ejecuta:
choco install wget -yChocolatey colocará wget en el PATH automáticamente.
Opción B — Usar Scoop (opción minimalista para desarrolladores)
- Abre PowerShell (sin necesidad de privilegios elevados si Scoop ya está configurado).
- Ejecuta:
iwr -useb get.scoop.sh | iex
scoop install wgetScoop gestiona versiones y binarios de forma sencilla.
Opción C — Instalar manualmente (binario GNU para Windows)
- Descarga un build de wget para Windows desde una fuente confiable (por ejemplo, mirrors de GnuWin32 o sitios oficiales de paquetes binarios).
- Descomprime y copia wget.exe en una carpeta permanente, por ejemplo: C:\Program Files\wget\
- Añade la carpeta al PATH del sistema:
- Panel de control → Sistema → Configuración avanzada del sistema → Variables de entorno.
- En “Path” (Variables del sistema) pulsa Editar y añade: C:\Program Files\wget\
- Abre una nueva consola (cmd) y ejecuta:
wget -VNota: Evita copiar archivos directamente a C:\Windows\System32 salvo que sepas exactamente lo que haces. Preferible usar una carpeta propia y añadirla al PATH.
Opción D — Windows Subsystem for Linux (WSL)
Si usas WSL (Ubuntu, Debian…), instala wget dentro del entorno Linux:
sudo apt update
sudo apt install wgetEsto instala la versión nativa de GNU wget y te permite ejecutar scripts Linux completos.
Cómo instalar wget en macOS
En macOS lo más habitual es usar Homebrew. Si no tienes Homebrew, instálalo así:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Después instala wget:
brew update
brew install wgetComprueba la instalación con:
wget -VAlternativa: macOS incluye curl por defecto, que cubre muchas funciones de wget. Pero wget tiene opciones específicas para descargas recursivas que curl no ofrece de forma tan directa.
Sintaxis básica de wget
La sintaxis sencilla es:
wget [OPCIÓN]... [URL]...- [OPCIÓN] indica la acción que quieres ejecutar (tiene formas cortas y largas). Ejemplo: -V o –version.
- [URL] es la dirección que deseas descargar.
Ejemplo básico:
wget https://ejemplo.com/archivo.zipEjemplos prácticos y comandos útiles
A continuación encontrarás comandos comunes, explicados y listos para copiar y usar.
Descargar un único archivo
wget https://example.com/robots.txtDescargar un archivo a una carpeta específica
Reemplaza
wget -P https://example.com/sitemap.xml Renombrar un archivo al descargar
wget -O mi-nuevo-nombre.html https://example.com/file.htmlDefinir el User-Agent
Algunas webs sirven contenido distinto según el agente. Ejemplo simple:
wget --user-agent="Mozilla/5.0 (compatible)" https://example.com/file.htmlEjemplo para simular Googlebot (usa con ética):
wget --user-agent="Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/pathDescargar robots.txt y actualizar solo si cambia
- Mostrar cabeceras y fecha:
wget -S https://example.com/robots.txt- Descargar solo si hay una versión nueva en el servidor:
wget -N https://example.com/robots.txtConvertir enlaces para ver el sitio localmente
Con –convert-links puedes adaptar los enlaces al árbol local:
wget --convert-links https://example.com/pathReplicar una única página para uso local
wget -E -H -k -K -p --convert-links https://example.com/pathExplicación rápida de opciones usadas con frecuencia:
- –recursive: descarga recursivamente siguiendo enlaces.
- –page-requisites: descarga CSS, JS, imágenes necesarias.
- –adjust-extension: guarda archivos con extensión .html cuando procede.
- –span-hosts: sigue recursos en otros hosts si son necesarios.
- –wait=1: espera 1 segundo entre peticiones.
- –limit-rate=10K: limita la velocidad a 10 KB/s.
- –convert-links: convierte enlaces a rutas locales.
- –restrict-file-names=windows: adapta nombres de archivo a Windows.
- –no-clobber: no sobrescribe archivos ya existentes.
- –domains example.com: restringe la descarga al dominio indicado.
- –no-parent: no asciende al directorio padre.
Descargar múltiples URLs desde un archivo
Crea urls.txt con una URL por línea:
https://example.com/1
https://example.com/2
https://example.com/3Luego ejecuta:
wget -i urls.txtNota: en el origen había -I urls.txt, pero la opción correcta para leer URLs es -i.
Limitar velocidad y comportamiento respetuoso
Para no sobrecargar servidores, combina pausas y límites de velocidad:
wget --wait=1 --limit-rate=10K -i urls.txt- –wait=1: espera 1 segundo entre peticiones.
- –limit-rate=10K: limita a 10 KB/s.
Extraer un sitio completo (usa con precaución)
Comando ejemplo para descargar un sitio completo respetando límites:
wget --recursive --page-requisites --adjust-extension --span-hosts --wait=1 --limit-rate=10K --convert-links --restrict-file-names=windows --no-clobber --domains example.com --no-parent https://example.comAntes de ejecutar una descarga recursiva ten en cuenta:
- Lee y respeta el archivo robots.txt.
- Comprueba los términos de uso del sitio.
- Ajusta –wait y –limit-rate para no agotar recursos.
- Considera contactar al administrador si necesitas una copia grande.
Comparación breve: wget vs curl vs PowerShell
- wget: ideal para descargas recursivas y replicar sitios (opciones específicas para HTML y assets).
- curl: más versátil para peticiones HTTP individuales, APIs y transferencia de datos, pero requiere scripts para replicar sitios.
- PowerShell (Invoke-WebRequest/Invoke-RestMethod): útil en Windows sin instalar nada adicional; buena integración con objetos de PowerShell.
Cuándo usar cuál:
- Automatizaciones de API: curl o PowerShell.
- Descargar múltiples enlaces o clonar páginas: wget.
- Entornos Windows sin gestores de paquetes: PowerShell es una alternativa inmediata.
Buenas prácticas y comportamiento ético
- Respeta robots.txt y políticas del servidor.
- Evita descargas recursivas masivas sin permiso.
- Limita la velocidad y añade –wait para reducir la carga en el servidor.
- Usa un User-Agent claro si automatizas (identifica tu crawler si procede).
Important: Muchos administradores bloquean agentes desconocidos o peticiones masivas. Actúa con transparencia.
Solución de problemas comunes
Error: ‘wget’ no se reconoce como comando
Causa: no está instalado o no está en la variable PATH. Solución:
- Comprueba la instalación con
where wget(Windows) owhich wget(macOS/WSL). - Si
where/whichno devuelve ruta, instala wget o añade la ruta donde está wget.exe al PATH del sistema.
Error de permisos al ejecutar wget en Windows
- Abre cmd/PowerShell como Administrador si estás instalando en rutas protegidas (p. ej. Program Files).
- Prefiere instalar en carpetas de usuario y añadirlas al PATH para evitar escalado de privilegios.
Problemas con HTTPS o certificados
- wget usa certificados del sistema. En entornos con certificados corporativos puedes necesitar indicar
--no-check-certificate(no recomendado por seguridad) o instalar el CA correspondiente.
Descargas interrumpidas
- Usa
-cpara continuar descargas interrumpidas:
wget -c https://example.com/gran-archivo.zipMini metodología para descargar y auditar un sitio (plantilla rápida)
- Revisar robots.txt y las políticas del sitio.
- Determinar el alcance (páginas, subdominios, assets).
- Elegir opciones de wget (wait, limit-rate, domains, no-parent).
- Ejecutar en modo limitado y revisar resultados.
- Auditar archivos descargados localmente.
- Ajustar parámetros según impacto y repetir si procede.
Lista de comprobación por rol
Desarrollador:
- ¿Necesitas recursos para pruebas locales? Usa –page-requisites.
- ¿Tienes permiso para clonar? Confírmalo.
SEO / Auditor de contenido:
- ¿Quieres ver la versión servida a Googlebot? Ajusta –user-agent.
- Usa
wget -Spara revisar cabeceras.
Administrador / DevOps:
- ¿Monitorizas descargas masivas? Controla logs y límites de red.
- Evita poner wget.exe en rutas del sistema sin control de versiones.
Investigador o archivista:
- Documenta la fecha de la descarga.
- Respeta derechos de autor y términos de uso.
Criterios de aceptación para una instalación correcta
- Ejecutar
wget -Vdevuelve la versión sin errores. where wget(Windows) owhich wget(macOS/WSL) muestra la ruta al ejecutable.- Descarga de ejemplo funciona:
wget -O /tmp/test.html https://example.com.
Decision tree para resolver “wget no encontrado”
flowchart TD
A[Empieza: 'wget' no encontrado] --> B{¿Estás en Windows?}
B -- Sí --> C{¿Tienes Chocolatey o Scoop?}
C -- Sí --> D[Instalar via choco/scoop]
C -- No --> E{¿Usas WSL?}
E -- Sí --> F[Instalar dentro de WSL: apt install wget]
E -- No --> G[Instalar binario y añadir al PATH]
B -- No --> H{¿Estás en macOS?}
H -- Sí --> I[Instalar via Homebrew: brew install wget]
H -- No --> J[Revisar 'which wget' y permiso de ejecución]
D --> K[Comprobar wget -V]
F --> K
G --> K
I --> K
J --> KGlosario rápido (1 línea cada término)
- wget: herramienta de descarga por línea de comandos para HTTP/HTTPS/FTP.
- User-Agent: cadena que identifica al cliente HTTP.
- robots.txt: archivo que indica a los rastreadores las páginas permitidas o no.
- PATH: variable de entorno que determina dónde buscar ejecutables.
- WSL: Subsistema de Windows para Linux.
Preguntas frecuentes
¿Por qué aparece “wget command not found” en Windows?
Suele ocurrir porque wget no está instalado o porque la carpeta que contiene wget.exe no está incluida en la variable PATH del sistema. Instala wget o añade su ruta al PATH.
¿Qué es curl?
curl (Client URL) es una herramienta de línea de comandos para transferir datos con URL. Es muy útil para peticiones HTTP puntuales y llamadas a APIs. Está incluido por defecto en muchos sistemas.
Resumen final
wget es una herramienta potente para descargas desde la terminal. Aprende a instalarla correctamente en Windows y macOS, usa opciones como –wait y –limit-rate para no sobrecargar servidores, y respeta robots.txt y las políticas del sitio. Para automatizaciones más complejas, combina wget con scripts y gestiona las versiones con gestores de paquetes como Chocolatey, Scoop o Homebrew.
Si encuentras errores concretos, describe el comando que ejecutaste y el mensaje exacto para recibir ayuda más precisa.
Notas: si necesitas una plantilla de scripts, ejemplos adicionales de automatización o un runbook para descargas periódicas, indícalo y ampliaré con ejemplos listos para usar.
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD