31 de enero de 2008

Descargar una web completa

Desde Linux es extremadamente sencillo generar una réplica de un sitio web. Contamos con un potente comando llamado wget, que habitualmente se encuentra instalado en cualquier distribución de Linux.

Con el podremos duplicar un sitio de internet, trasferirlo a nuestro ordenador y que además los enlaces funcionen correctamente. Cuanto más sencillo sea el sitio web más facil será que éste funcione a la perfección, aunque es posible que determinadas partes, creadas con Flash u otras tecnologías no se muestren bien.

La solución

Para hacer esta réplica lo mejor es ir a una consola, crear una subcarpeta (mediante mkdir sitioweb), entrar en esa carpeta mediante cd sitioweb y comenzar la transferencia mediante la siguiente línea:
wget http://urldelsitioweb --mirror –p --html-extension –-convert-links -w 3
En primer lugar introducimos el nombre del sitio a descargar, seguido de una serie de parámetros que modifican el comportamiento de wget.

Los parámetros pueden variar, aunque los indicados son los que más se suelen ajustar:

  • --mirror y -p para hacer una réplica del sitio y que sólo se descargen los archivos que hayan cambiado en sucesivas descargas y que se descargue todo lo necesario.
  • --html-extension para que los script y cosas parecidas se almacenen como archivos html
  • --convert-links para adaptar los enlaces al sitio local de modo que cuando se haga clic en un enlace no se vaya al sitio de internet, sino a la copia local.
  • --wait hace que se inserte una pausa de tantos segundos como se indique entre petición y petición, así evitaremos que el sitio nos inserte en una lista negra de descargadores masivos o algo por el estilo.
Conclusión

wget es un programa muy útil que debemos emplear cion suma responsabilidad, ya que el ancho de banda de los servidores cuesta su dinerito, y descargarnos sitios completos así como así puede suponer una sobrecarga a veces innecsesaria para el servidor en cuestión.

Otros usos


wget también es una herramienta muy útil para descargar grandes archivos, ya que nos permite continuar las descargas en el caso de que se produzca un problema en la transferencia. Es interesante tenerlo en mente si algún día queremos descargarnos algún CD o cosas parecidas.

En este caso utilizaremos el parámetro -c para que se reanude la descarga por donde iba.

Bibliografía

Más sobre este tema en:

http://linuxreviews.org/quicktips/wget/
http://www.jim.roberts.net/articles/wget.html