Binary Coffee

Como descargar un sitio completo con wget

bash hack linux shell internet
Esta idea de descargar un sitio completo para uso offline es harto conocida y aplicada por los cubanos desde hace años debido a las limitantes de acceso a Internet. Incluso hoy en día sigue usándose para abaratar costos. Un ejemplo clásico de un sitio con versión offline que es copiado y almacenado a menudo en los discos de los desarrolladores de software es w3schools.com. Para descargar sitios completos y consumir su contenido estático conservando las imágenes, los enlaces internos y los estilos usaremos la herramienta de línea de comandos `wget`. Seguro existen otras herramientas, incluso con interfaz gráfica, si conoces alguna no dudes en compartirla en los comentarios. Supongamos que queremos descargar el sitio xamarinhelp.com, el comando a invocar sería este: ``` wget \ --recursive \ --page-requisites \ --html-extension \ --convert-links \ --restrict-file-names=windows \ --domains xamarinhelp.com \ --no-parent \ -l 2 \ -o wget-rec-download.log \ xamarinhelp.com ``` Expliquemos algunos argumentos: - `--recursive` hace que `wget` descargue no solo index.html sino recursivamente todo enlace a partir ahí en el dominio definido. - `-l` es la profundidad máxima a seguir en la recursividad. En el ejemplo si una página está como mínimo a más de dos enlaces del inicio pues no se descargaría. Para la mayoría de los blogs y sitios de documentación basta con profundidad 2. - `--restrict-file-names=windows` le dice a `wget` que renombre los archivos descargados para que sean compatibles con los sistemas de ficheros de windows. - `-o wget-rec-download.log` le dice que guarde toda la salida de información que wget por defecto imprime por la consola que la envíe en su lugar al fichero `wget-rec-download.log`. Si te gusta ver todo el proceso de descarga pues excluye este parámetro. ¡Listo, eso es todo! En otro post explicaré como usar este comando en un script junto a otros comandos que le den más funcionalidad de modo que pueda ser ejecutado en algun servicio cloud o PC de algún amigo en el exterior y el script se encargue de descargar el sitio, comprimirlo y subir el comprimido a algún servidor y así te ahorrarías incluso más tiempo e Internet.
Opiniones
noavatar