¿Qué es Wget?
Wget es un paquete de software gratuito para recuperar archivos utilizando HTTP, HTTPS, FTP y FTPS, los protocolos de Internet más utilizados. Es una herramienta de línea de comandos no interactiva, por lo que se puede llamar fácilmente desde scripts, trabajos cron, terminales sin compatibilidad con X-Windows, etc.
¿Cómo instalar Wget?
# Install wget in Ubuntu \ Debian Linux
apt-get install wget
# Install wget on RHEL / CentOS / Fedora
yum install wget
# Install wget on OpenSUSE
zypper install wget
# Install wget on ArchLinux
pacman -Sy wget
# Install wget on FreeBSD
pkg install wget
# Install wget Using FreeBSD Ports Collection
portsnap fetch update
cd /usr/ports/ftp/wget
make install clean
rehash ## or hash -r for 'bash/sh/ksh'
Code language: PHP (php)
¿Cómo usar Wget?
- Ahora, si queremos descargar un solo archivo usando HTTP, escribimos:
# Download a single file
wget http://site-name.com/file-name.tar.gz
Code language: Bash (bash)
2. Puede descargar una página web y guardarla en la carpeta que desee:
# Download a website
wget -o index.html http://site-name.com/page-url
# Download a website into a different folder
wget --directory-prefix='./home/user/Downloads/site-name/' http://site-name.com/page-url
Code language: Bash (bash)
3. Aquí se explica cómo descargar archivos de sitios web protegidos con contraseña:
# Download files from password protected websites
wget ‐‐http-user=username ‐‐http-password=password http://site-name.com/path-secret/file.tar.gz
Code language: Bash (bash)
4. Otra forma es descargar un tipo específico de archivos del sitio web:
# Download specific type of files from the website
# This will download all the mp3 files
$ wget --level=2 --recursive --accept mp3 http://site-name.com
# will download all jpeg files
$ wget ‐‐level=1 ‐‐recursive ‐‐no-parent ‐‐accept jpg,JPG http://site-name.com/
Code language: Bash (bash)
5. Una buena opción es descargar varios archivos con diferentes protocolos:
# Download multiple files with different protocols
wget http://site-name.com/file.tar.gz ftp://151.232.45.6/picture.jpg
Code language: Bash (bash)
6. También es posible limitar el ancho de banda de un archivo que está descargando:
# Limit the bandwidth of a file you are downloading
wget --limit-rate=50k http://site-name.com/file.rar
Code language: Bash (bash)
7. Puede descargar un sitio web completo si lo desea con todos los archivos y carpetas dentro:
# Mirror entire websites (all its pages and assets)
wget --mirror --no-parent --continue http://site-name.com
Code language: PHP (php)
8. Puede poner direcciones URL en un archivo y luego decirle a Wget que descargue todos los enlaces en el archivo
# Download all of the links in the file
wget ‐‐input filename.txt
Code language: PHP (php)
9. Aquí se explica cómo reanudar un archivo descargado actualmente desde donde se dejó
# Resume a currently download file from where it was left
wget -c http://site-name.com/file.zip
Code language: PHP (php)
10. Descarga en segundo plano usando wget -b
# Download in the Background Using wget -b
wget -b http://www.site-name.com/link/filename.tar.bz2
Code language: PHP (php)
11. Verifique el estado de la descarga usando tail -f
# Check the status of the download using tail -f
tail -f wget-log
Saving to: `filename.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
Code language: PHP (php)
12. Un buen truco es probar la URL de descarga usando Wget –spider
# Test download
wget --spider http://site-name.com/link/file.tar.bz2
Code language: PHP (php)
13. Y finalmente, aquí está cómo descargar solo ciertos tipos de archivos usando wget -r -A
# Download only certain file types
wget -r -A.pdf http://site-name.com/files-folder/
Code language: PHP (php)
En esta lección, aprendimos algunas de las mejores maneras de manejar Wget. Una herramienta sin la cual ningún administrador de sistemas puede trabajar. Para obtener ejemplos adicionales, puede consultar la página de manual del programa.