Está en la página 1de 2

084-085_Linea_de_Comandos 06.02.

2006 19:54 Uhr Página 84

LINUX USER • Línea de Comandos

Si se configura el nivel de profundidad a


-l 2, Wget extraerá los ficheros otro nivel
por debajo de un primer nivel. En otras
palabras, si index.html contiene un
enlace a images.html, el administrador
de descargas seguirá en este caso los
enlaces a esta página.
Se crea una carpeta para cada URL en
el disco duro local, pero este fun-
cionamiento puede cambiarse añadiendo
otra opción. Puede especificarse -nH
Descargas FTP y mirrors de sitios web con Wget (“no Host”) para guardar todos los resul-
tados en el directorio actual.

CONSÍGUELO
Wget puede modificar los enlaces en
ficheros HTML individuales. Por ejem-
plo, si se establece el parámetro -k,
manejará referencias a imágenes, hojas
de estilo, páginas HTML desde el mismo

TODO
servidor, etc. Wget referencia enlaces a
ficheros que ya ha descargado por medio
de una ruta relativa, mientras que los
ficheros que no han sido almacenados
en el disco local mantendrán sus URLs
completas.

Wget descarga ficheros e incluso sitios web completos desde la línea ¡Con Calma!
Si una descarga voluminosa se inte-
de comandos. HEIKE JURZIK rrumpe, no hay ni de que perocuparse
ni es necesario comenzar desde el prin-

E
xisten un buen número número La salida de la línea de comandos que cipio. Con la opción -c (de continue,
de administradores de descarga imprime en la terminal permite ver qué esto es, continuar) continuará desde
basadas en GUI que permiten a está haciendo (Figura 1): en nuestro donde lo dejó la descarga previa. No
los usuarios descargar ficheros y sitios ejemplo, la herramienta está estable- importa si el intento de decarga original
web completos. Sin embargo, pocos son ciendo una conexión a un servidor web se hizo usando wget o un admin-
tan flexibles ni potentes como la (puerto 80 estándar) y descargando el istrador de descarga gráfica, la her-
instrucción de la línea de comandos fichero index.html a un directorio local, ramienta compara los fragmentos con
wget. Wget descarga rápidamente ignorando imágenes empotradas y sin el original y continua a partir de allí.
cualquier cosa sin tener que teclear ni seguir los enlaces. Si no se desea ver en Mientras lo hace, presenta bastante
indicar demasiado. Wget “habla” HTTP, la consola la salida de forma tan deta- información. Un ejemplo de la salida es
HTTPS y FTP; puede continuar transfer- llada, se puede especificar la opción -q
encias interrumpidas e incluso dispone (por quiet, es decir, funcionamiento The file is already fully U
de una función de actualización que silencioso). Sin embargo, cuando se le retrieved; nothing to do.
únicamente actualiza ficheros que han dice a wget que suprima la salida de
cambiado. mensajes de error y de información para archivos que ya existen en el disco
básica, conviene utilizar un término duro.
Por Todas Partes medio con la opción wget -nv. Ésta hará En los casos en los que se descargan
La sintaxis genérica para Wget es la que el programa escriba una salida más repetidamente los mismos datos, es
siguiente: corta en la consola pero que contiene aconsejable especificar la opción -N,
alguna información. con la cual comparará el tamaño y la
wget URL Para decirle que siga los enlaces fecha de cada fichero con la copia
locales en el servidor y refleje los datos local:
recursivamente, habrá que añadir el
parámetro -r. Si se hace de este modo es $ wget -N U
aconsejable especificar la profundidad ftp://ftp.debian.de/debian-cd/U
de la recursion. Será preciso bajar un 3.1_r0a/i386/iso-cd/debian-U
nivel para obtener tanto los index.html 31r0a-i386-binary-1.iso
como todos los enlaces embebidos (tales ...
como imágenes u otras páginas HTML): The sizes do not match U
(local 7935840) - retrieving.
Figura 1: La forma más simple del comando wget -r -l 1U
wget ignora las imágenes embebidas y no www.linux-magazine.es Si no ha cambiado nada, el adminis-
sigue los enlaces. trador de descarga dirá algo parecido a:

84 Número 15 WWW.LINUX- MAGAZINE.ES


084-085_Linea_de_Comandos 06.02.2006 19:54 Uhr Página 85

Línea de Comandos • LINUX USER

Server file not newer than U Frugal y reemplazar off con on. La Figura 2
local file "index.html" U Existen algunas opciones para permite ver un fichero de configu-
-- not retrieving. restringir las funcionalidades de wget. ración de muestra para wget.
Por ejemplo, si se tiene una conexión a
Pero no hay que preocuparse si se olvida Internet lenta y se prefiere no usar Descarga Segura
la opción: normalmente Wget no sobre- todo el ancho de banda para la Wget también puede coger datos desde
escribe ficheros locales, sino que en su descarga, puede restringirse ese ancho servidores donde se necesita autenticarse
lugar crea un backup con un número de de banda especificando la opción -- a través de una clave de usuario y con-
serie (index.html.1, index.html.2, etc.) limit-rate=. Además, es necesario traseña. Para usar esta opción, hay que
especificar el volumen en Kbytes por pasar las credenciales al programa
Especificación de Tipos de segundo, como en: cuando se arranca:
Ficheros
Si sólo quieren descargarse ficheros de wget --limit-rateU wget --http-user=U
un tipo específico y se intenta pasar a =20k ... nombreusuarioU
Wget un asterisco (*) como un --http-passw=contraseña
wildcard, la herramienta presentará el El parámetro también entiende valores
siguiente mensaje de error: en Mbytes. Para 10 MBps habría que Si se hace esto, habría que cuidarse de
introducir: otros usuarios fisgones: si otro usuario
wget U corre el comando ps para presentar los
www.linux-magazine.com/*.jpg wget --limit-rateU procesos activos en la máquina, el
... =10m ... comando wget será listado junto con el
HTTP request sent, U nombre de usuario y la contraseña en
awaiting response...U Si se prefiere restringir el volumen de texto claro. Como solución, podría usarse
404 Not Found descarga total, entonces usaremos el un fichero de configuración ~/.wgetrc en
14:24:09 ERROR 404: Not Found. parámetro -Q. De nuevo se necesita el directorio de inicio. Se introduce lo
hacer constar el volumen de datos. La siguiente, por ejemplo:
En su lugar, es necesario hacer constar el opción sobreentiende valores en bytes,
tipo de fichero o una lista de tipos de Kbytes o Mbytes. Por ejemplo, el http_user = nombreusuario
ficheros a través de la opción -A. Por comando siguiente http_passwd = contraseña
ejemplo:
wget -040m Y se guarda el fichero privado escri-
wget -r -l 1 U biendo
-A jpg,png,giff... restringe el volumen de descarga a 40
Mbytes. chmod 600 ~/.wgetrc
Si se observa la salida atentamente, vere-
mos que primero descarga el index.html, Completamente Combinación Perfecta
pero luego mueve los ficheros otra vez Automático wget no espera la entrada del usuario,
para dejar solamente las imágenes. Si se tiene alguna dificultad para recor- sino que sigue con el trabajo en segundo
También funciona en la dirección dar los parámetros para wget, o si se plano. Esta es una gran ventaja si se
opuesta, y así, mediante el parámetro -R, piensa que haciéndolo de este modo es necesita correr wget en una máquina
permite a los usuarios ignorar tipos de una pérdida de tiempo, puede usarse remota vía sesión SSH. Para hacerlo,
ficheros específicos. De nuevo, el un fichero de configuración oculto en primero se establece una sesión SSH y
parámetro espera una lista de tipos de el directorio de inicio en el que luego se arranca el programa Screen
ficheros que no se quiere que sean trans- definiremos nuestras propias preferen- introduciendo
feridos al disco local. El siguiente comando cias. Para crear un fichero de configu-
ración, hay que copiar la plantilla screen
wget -R avi,mpg,wmv ... global /etc/wgetrc al directorio de ini-
cio Tras escribir el comando wget y las
evita esos mamotréticos archivos de opciones para que comience la descarga
video que tanto ocupan en el disco duro. cp /etc/wgetrc ~/.wgetrc puede presionarse [Ctrl-A], [D] para
abandonar Screen. Luego puede salirse,
para, a continucación, arrancar un edi- aunque todos los procesos que han sido
tor para modificar el fichero. El fichero arrancados continuarán corriendo. La
tiene entradas para todas las opciones próxima vez que entremos en la máquina
de la línea de comandos, aunque por remota escribiremos simplemente
defecto están deshabilitadas. Para con-
figurar el parámetro -N por defecto, screen -r
simplemente es necesario quitar el
símbolo de la almohadilla (#) al princi- para reestablecer la sesión Screen. Ahora
Figura 2: Este podría ser su propio pio de la siguiente línea puede comprobarse si wget realizó su
“~/wgetrc”. Los comentarios se indican con tarea como se esperaba y recomenzó la
símbolos de almohadillas. #timestamping = off descarga si fue necesario. ■

WWW.LINUX- MAGAZINE.ES Número 15 85