Cómo usar wget en GNU.

por videlanghelo

Supongo que conocereis al veterano y útilisimo wget. Es una especie de gestor de descargas en modo texto originalmente para GNU (Linux, BSD, Hurd…) y ahora también para Windows y Mac OS X. Tiene muchas más funcionalidades que cualquier gestor de descargas que hayamos probado antes.

El caso es que traigo una guía rápida para usarlo con un montón de funciones que seguro que le interesan a alguno:

Descarga del título de página ejemplo.com a un archivo llamado “index.html”:
wget http://www.ejemplo.com/

Descarga desde el código fuente con Wget de un sitio GNU ftp.
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz

Descarga del título de página ejemplo.com , acompañado con las imágenes y el ”estilo de cascada” (css) necesario para mostrar la página, y convertir las URLs dentro para referirse a los contenidos disponibles a nivel local.
wget -p -k http://www.ejemplo.com/

Descarga de todo el contenido de ejemplo.com
wget -r -l 0 http://www.example.com/

Descargar un espejo de las erratas (errores) para un libro que usted/tú justo compró. Seguir todos los enlaces locales recursivamente y hacer apropiados los archivos para verlos desconectado. Usar una espera arbitraria (al azar) de 0 a 5 segundos entre los archivos. Cuando hay un fracaso, reintentar hasta 7 veces con 14 segundos entre cada reintento. Poner al agente de usuario a Firefox en Windows XP e ignorar exclusiones. Recoger resultados de acceso al archivo local “myLog.log”

wget -t 7 -w 5 –waitretry=14 –random-wait –user-agent=”Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1″ -m -k -K -e robots=off http://www.oreilly.com/catalog/upt3/errata/ -o ./myLog.log

Recoger sólo los enlaces específicos listados en el archivo local “my_movies.txt” Usar una espera arbitraria de 0 a 33 segundos entre archivos. Cuando hay un fracaso, reintente para hasta 22 veces con 48 segundos entre cada reintento. No envíe a ningún agente-usuario en absoluto. No haga caso de exclusiones de robot. Colocar todos los archivos capturados en el directorio “/movies” y recoger los resultados de acceso al archivo local “my_movies.log” Bueno sólo para descargar imágenes específicas conocidas u otros archivos.

wget -t 22 –waitretry=48 –wait=33 –random-wait –user-agent=”” -e robots=off -o ./my_movies.log -P/movies -i ./my_movies.txt

Usando wget para descargar contenido protegido por referer y cookies.
1. conseguir url base y guardas sus cookies en el archivo
2. poner el contenido protegido usando cookies almacenadas

wget –cookies=on –keep-session-cookies –save-cookies=cookie.txt http://first_page
wget –referer=http://first_page –cookies=on –load-cookies=cookie.txt –keep-session-cookies –save-cookies=cookie.txt http://second_page

Sitio web espejo a una copia estática para un navegador local. Esto quiere decir que todos los enlaces serán cambiados para apuntar a los archivos locales. Nota –html-extension convertirá cualquier archivo CGI, ASP O PHP generado a HTML (o algo más no .html).

wget –mirror -w 2 -p –html-extension –convert-links -P http://www.yourdomain.com

Fuente: Wikipedia.