wget con un ejemplo descargando las revistas de diasiete.com

Introducción:

GNU Wget es una herramienta de software libre que permite la descarga de contenidos desde servidores web de una forma simple. Su nombre deriva de World Wide Web (w), y de «obtener» (en inglés get), esto quiere decir: obtener desde la WWW.

Fuente: http://es.wikipedia.org/wiki/GNU_Wget

Por otra parte si eres de aquellos usuarios que solo usan Güindows :¬S   te tengo una buena noticia existe una versión de este programa disponible para Windows (espero q  en un tiempo cambies a un sistema GNU). Pues existe un proyecto denominado GNUwin32 el cual es un conjunto de software disponible para las versiones de Güindows :¬S de 32Bits (sitio: http://gnuwin32.sourceforge.net/packages.html) dicha versión se encuentra en:

http://gnuwin32.sourceforge.net/packages/wget.htm

descargar setup wget

descargar setup wget para Güindows

Incluso es factible acceder al source (algo bueno del FS)  por si gustas adentrarte mas en el tema.

Ejemplo Practico:

La revista día siete tiene sus revistas ubicadas en http://xml.diasiete.com/pdf/ como se puede ver en la siguiente imagen.

ruta de las revistas de diasite.com

se puede notar en la imagen que navegue en la ruta 339 (el núm. de revista)  pero ahi me encontré con que la revista estaba dividida en varios pdf’s.

La idea de descargar archivo por archivo atraves del navegador implica una tarea muy monotona y aburrida :¬(

Es aquí donde toma sentido todo lo previo ya que podemos pensar de la siguiente manera.

1.- queremos descargar los archivos a partir de la ruta http://xml.diasiete.com/pdf/

2.- Solamente nos interesan los archivos pdfs.

Basta con ejecutar la siguiente sentencia:

donde:

-A.pdf es para que solo descargue los archivos pdfs

Después de -A. suele venir la extensión que queremos que wget descargue; si por ejemplo queremos descargar archivos con extensión doc haremos -A.doc

-r  para que lo haga en forma recursiva

Esto quiere decir que empezara a descargar e replicara su comportamiento por cada vinculo que encuentre.

-l5 para que recorra solo 5 niveles

Se entiende por nivel a cada sub carpeta que recorra (cada / en la URL es un nivel) seleccione el 5 simplemente pensé que seria un buen limite

-np Para que no recorra a su directorio padre(..)

En este caso http://xml.diasiete.com/ si nos damos cuenta el primer vinculo de la pagina es para subir al directorio padre cosa que no queremos.

-N es para que no cambie la fecha y hora de la estructura stat del archivo

cada archivo contiene una serie de información la cual es guardada en una estructura denominada stat : fecha/hora de creación, de modificación, etc.. (mas info)

Corrida de ejemplo:

dejo este video disponible en : http://kissyoutube.com/watch?v=xY8y1fTCAwY

Ligas recomendadas:

wget con ejemplos (Linuxtotal):

http://www.linuxtotal.com.mx/index.php?cont=info_admon_017

Limitar la velocidad de descarga en Wget (blog del amigo @nierox):

http://www.nierox.com/2009/10/limitar-la-velocidad-de-descarga-en-wget/

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s