Introducción
wget
ofrece una gran cantidad de funciones avanzadas que se pueden usar para personalizar y automatizar el proceso de descarga. A continuación se muestran algunos ejemplos.
Lectura de URL de un archivo
Si tiene un archivo que contiene las URL que desea descargar, puede usar la opción -i
:
wget -i file
Si especifica '-'
como nombre de archivo, las URL se leerán desde la entrada estándar.
Crear una copia espejo de un sitio web
Para crear una copia espejo de un sitio web de cinco niveles de profundidad, con la misma estructura de directorios que el original, con un solo intento por documento, al guardar el registro de actividad en gnulog
, puede usar el comando:
wget -r https://www.gnu.org/-o gnulog
También puede convertir enlaces en archivos descargados para que apunten a archivos locales, de modo que pueda ver los documentos sin conexión:
wget --convert-links -r https://www.gnu.org/-o gnulog
Estos comandos descargan el sitio web " www.gnu.org " y guardan el registro de actividad en un archivo llamado "gnulog".
Descarga una página HTML con todos sus recursos
Para descargar solo una página HTML, pero asegúrese de descargar todos los elementos necesarios para mostrar la página, como imágenes en línea y hojas de estilo externas, puede usar las opciones -p
y --convert-links
:
wget -p --convert-links http://www.example.com/dir/page.html
Este comando guardará la página HTML en www.example.com/dir/page.html
, y las imágenes, hojas de estilo, etc., en algún lugar bajo www.example.com/
, dependiendo de dónde se encuentren en el servidor remoto.
Si no desea tener todos esos directorios de servidor aleatorios, simplemente guarde todos esos archivos en un subdirectorio download/
del directorio actual:
wget -p --convert-links -nH -nd -Pdownload http://www.example.com/dir/page.html
Este comando guardará la página HTML y todos sus recursos en un subdirectorio llamado "descargas" del directorio actual.
Mostrar encabezados de servidor
Para recuperar www.lycos.com
index.html
, mostrando los encabezados originales del servidor, puede usar la opción -S
:
wget -S http://www.lycos.com
Si desea guardar los encabezados del servidor con el archivo, tal vez para el procesamiento posterior, puede usar la opción --save-headers
:
wget --save-headers http://www.lycos.com/
Este comando guardará los encabezados del servidor en el archivo index.html
.
Descargar los dos primeros niveles de un sitio FTP
Para descargar los dos primeros niveles de wuarchive.wustl.edu
, guardándolos en /tmp
, puede usar las opciones -r
, -l2
y -P/tmp
:
wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu
Este comando descargará los dos primeros niveles de wuarchive.wustl.edu
y los guardará en /tmp
.
Descarga todos los archivos GIF de un directorio
Si desea descargar todos los archivos GIF de un directorio en un servidor HTTP, puede usar las opciones -r
, -l1
, --no-parent
y -A.gif
:
wget -r -l1 --no-parent -A.gif http://www.example.com/dir
Este comando descargará todos los archivos GIF del directorio especificado al servidor HTTP.
Reanude las descargas interrumpidas sin sobrescribir los archivos existentes
Si su descarga se interrumpe y no desea sobrescribir los archivos existentes, puede usar la opción -nc
:
wget -nc -r https://www.gnu.org
Este comando reanudará la descarga desde donde la dejó, sin sobrescribir ningún archivo que ya esté allí.
Cifre su nombre de usuario y contraseña para HTTP o FTP
Si desea codificar su nombre de usuario y contraseña para HTTP o FTP, puede usar la siguiente sintaxis:
wget ftp://hniksic:[email protected]/.emacs
Este comando descargará el archivo .emacs
del servidor FTP especificado, utilizando el nombre de usuario "hniksic" y la contraseña "mypassword".
Enviar documentos descargados a la salida estándar
Si desea que los documentos descargados se envíen a la salida estándar en lugar de a los archivos, puede usar la opción -O
:
wget -O - http://jagor.srce.hr/http://www.srce.hr
Este comando descargará documentos de los sitios web especificados y los enviará a la salida estándar en lugar de guardarlos como un archivo 1 .
Limitar la velocidad de descarga
Si desea limitar la velocidad de descarga para evitar sobrecargar su conexión, puede usar la opción --limit-rate
. Por ejemplo, para limitar la velocidad de descarga a 200k, puede usar:
wget --limit-rate=200k http://example.com
Este comando descargará el archivo del sitio web especificado a una velocidad máxima de 200 kilobytes por segundo.
Descargar archivos de una lista de URL
Si tiene una lista de direcciones URL de las que desea descargar archivos, puede usar la opción -i
con un archivo que contenga todas las direcciones URL. Por ejemplo:
wget -i urls.txt
Este comando descargará todos los archivos de las URL enumeradas en el archivo "urls.txt".
Descargar archivos en segundo plano
Si desea que wget
descargue archivos en segundo plano, puede usar la opción -b
. Por ejemplo:
wget -b http://example.com
Este comando comenzará a descargar el archivo en segundo plano, lo que le permitirá continuar usando el terminal para otros comandos.
Descargue archivos solo si aún no están presentes localmente
Si solo desea descargar archivos que aún no están allí localmente, puede usar la opción -N
. Por ejemplo:
wget -N http://example.com
Este comando descargará el archivo solo si aún no está presente localmente o si la versión local es más antigua que la del servidor.
Conclusión
Estos son solo algunos de los usos avanzados de wget
. La utilidad es extremadamente versátil y se puede usar de muchas maneras diferentes para automatizar y personalizar sus descargas. Consulte la página del manual de wget
o su documentación en línea para obtener más información.