Con wget podemos hacer copias de webs completas o un 'mirror' completo del sitio, es decir, replicar toda la estructura web completa de un sitio en un directorio de nuestra máaquina. Obviamente no va a funcionar con webs que usen Javascript, así que solo funcionaría con webs de estilo antÃguo como webs personales. Lo suyo es crear dos scripts: uno para descargar una web que de una sola págína, es decir, un artículo con sus imágenes. Éste script vendría bien para bajarse una noticia de un periódico con sus imágenes asociadas. He aquí el contenido de webdump.sh. Después de cada \ no hay nada, solo un enter, ni siquiera un espacio. Es para que el comando no se 'rompa' y se lea internamente como un renglón sin cortes. #!/bin/sh tmp=$(mktemp -d) mkdir -p ~/webs/docs cd ~/webs/docs wget -c -e robots=off -U \ "Mozilla/5.0 (PSP (PlayStation Portable); 2.00)" \ -k --page-requisites --convert-links "$@" cp -r $tmp/* ~/webs/docs exit #fin Se usa el User Agent de PSP para que muchas webs donde usan sistemas integrados lo tomen como norma y así darnos un diseño más simplificado, así lo podremos usar en navegadores muy ligeros para un netbook como Links+ o Dillo-NG. El resultado del script estará en ~/webs/docs/. Ahora, toca el script webmirror.sh, donde se intentará realizar una copia *entera* de una web, así que ojo a lo que os bajáis, ya que puede dar lugar a bajar un sitio de varios gigabytes: #!/bin/sh mkdir -p ~/web/sitios/ cd ~/web/sitios/ wget \ --mirror \ -U Mozilla \ --page-requisites \ --convert-links \ --adjust-extension \ --restrict-file-names=ascii \ --random-wait \ --execute robots=off \ --reject '*.woff*,*.ttf,*.eot,*.js' \ --tries 10 \ "$@" Esto nos creara un directorio con la web completa regenerada en ~/web/sitios/loquesea, donde loquesea/ tendrá la estructura web replicada con los requitios para que se lean las páginas (las imágenes enlazadas externamente por ejemplo) y sin bajar archivos como fuentes o JavaScript. Para un último caso, para bajar solo el texto de una web: #!/bin/sh if [ $# -ne 2 ] then echo "Uso: $0 ejemplo.com archivo.txt" exit 1 fi lynx -dump -nolist "$1" > ~/docs/$2" echo "Archivo guardado en ~/docs/$2"