Cómo usar Wget para descargar sitios web en tu PC

¿Alguna vez te has preguntado si había una forma de descargar un sitio web sin un navegador web? Tienes suerte. Con el poder de la línea de comandos de Linux, todo es posible. Hay múltiples métodos para completar esta tarea, pero nos estamos enfocando en wget en este artículo.
¿Qué es wget?
wget es una utilidad de línea de comandos de GNU para recuperar contenido de servidores web. Como descargador, wget es muy poderoso por derecho propio. wget es capaz de trabajar con múltiples protocolos, como HTTP, HTTPS y FTP. Otras capacidades de la utilidad wget incluyen:
- capacidad de ejecutarse en silencio o en segundo plano
- integrado con scripts de Linux o trabajos CRON
- puede ejecutar múltiples descargas a la vez
- descarga archivos que requieren una contraseña
¿Por qué wget?
Si bien hay una multitud de herramientas que pueden realizar actividades en sitios web, wget permite un amplio alcance. Le da al usuario la capacidad de funcionar sin un navegador web al:
- descargar una copia completa de un sitio web
- descargar un archivo específico de un sitio web
- automatizar la recuperación de un archivo bajo demanda
- obtener un documento de un portal de autenticación
wget también está integrado en la mayoría de las distribuciones de Linux, por lo que está disponible desde el principio, y no se requiere ninguna instalación adicional.
Conceptos básicos de wget
Comenzar con wget es bastante simple. Primero, abre una Terminal de Linux.
Una vez que se abre una ventana de terminal, puedes ejecutar wget como se muestra a continuación:
wget URLReemplaza “URL” con la URL exacta del sitio web.
Para reanudar un archivo descargado parcialmente, usa un interruptor -c en tu comando como sigue:
wget -c URLPara hacer que tu descarga de wget sea silenciosa, agrega el interruptor -q a tu comando inicial de wget:
wget -q URLSi no estás seguro del uso adecuado de las opciones dentro de wget, usa lo siguiente:
wget --helpAparte de sitios web, también puedes descargar un archivo usando wget. Por ejemplo:
wget https://example.com/file.zipSimplemente obtendría el archivo y lo guardaría en el directorio actual.
Si deseas guardar con un nombre de archivo diferente o en una ubicación diferente, usa la bandera -O.
wget https://example.com/file.zip -O ~/Documents/my_downloaded_file.zipOpciones de FTP
Como se mencionó anteriormente, wget también admite FTP. Si solo especificas un sitio FTP:
wget ftp://ftp.example.comwget asumirá que deseas un inicio de sesión anónimo. Alternativamente, puedes especificar manualmente cosas como el nombre de usuario y la contraseña con las siguientes banderas:
--ftp-user=USER: especifica el nombre de usuario para el inicio de sesión--ftp-password=PASS: especifica la contraseña--no-passive-ftp: desactiva el modo de transferencia pasiva
Tiempos de espera, reintentos y descargas fallidas
Finalmente, wget viene con varias opciones relacionadas con problemas de conexión al servidor y tiempos de espera. No todos los fallos se pueden manejar, por supuesto, pero las siguientes banderas están destinadas a ayudar a lidiar con problemas del servidor:
--tries=NUMBER: especifica el número de veces para reintentar la descarga--retry-connrefused: reintenta la descarga incluso si la conexión es rechazada por el servidor--timeout=SECONDS: configuración global – cuánto tiempo esperar antes de los tiempos de espera--wait=SECONDS: cuánto tiempo esperar entre descargas exitosas (si se repite)
¿Quién usaría wget?
Al leer esta publicación, puedes estar pensando: “Esto suena complicado y mucho más difícil que usar un navegador web”, pero cualquiera puede encontrar un uso para esta utilidad, ya sea como administrador de sistemas o programador. A continuación, se presentan dos ejemplos de cómo uso este comando a lo largo de mi día, con mi rol a veces cambiando.
Facilita mi trabajo como investigador de seguridad porque puedo programar este comando para descargar múltiples sitios web a la vez. Puedo hacer esto creando un archivo de texto (usando cualquier editor de texto) que contenga una serie de URL en una lista (una URL por línea). Al ejecutar el comando a continuación con el interruptor -i, wget descargará cada sitio web en la lista.
wget -i download_file_name URLComo administrador de sistemas, puedo obtener documentos de ubicaciones protegidas por contraseña con facilidad. Esto puede no ayudarte tanto sin conexión, pero al ejecutar wget, te permite agregar credenciales a un sitio.
wget --user=user_id --password=user_password URL¡Ahí lo tienes! ¿Fue tan difícil como pensabas? Poder automatizar tus acciones con wget te ahorrará tiempo y te dará la capacidad de trabajar sin conexión. ¿Qué tienes que perder?
Deja un comentario a continuación y háznos saber si encontraste esto útil.