Imagen de banyut
0 puntos

Extraido de banyut

Es una herramienta (para mi la mejor que existe) que permite la descarga no interactiva de contenidos desde servidores HTTP, HTTPS y FTP. Traducido al cristiano, permite descargarse webs enteras, archivos individuales, etc.

Entre sus características tenemos:

  • Soporte para proxies.

  • Descarga recursiva.

  • En caso de que este disponible, hace uso de conexiones persistentes

  • Soporta Ipv6, SSL/TLS.

  • Archivos más grandes de 2Gb en sistemas de 32 bits.

  • Regulación de la velocidad de descarga.

La síntesis del comando es la siguiente.

wget [opciones] ... [URL] ...

Si las opciones no necesitan agrumentos se pueden poner juntas

wget -drc <url> es igual a wget -d -r -c <url>

Todas las opciones tiene dos formas, una corta y una larga, nosotros usaremos la corta, así entre otras tenemos.

-V o –version : Muestra la versión de wget.

-h o –help : Mensage de ayuda describiendo las opciones.

-b o –background: Iniciar en segundo plano.

No explicaré todas las opciones de este comando, pues son muchísimas, para poder verlas solo tenéis que ejecutar el ya conocido man.

man wget

La mejor forma de ver como funciona esta herramienta es mediante ejemplos.

En su forma más simple nos permite bajar un archivo.

wget http://cv.uoc.es/cdocent/0ICE46FXIL2SZE7X8X1J.pdf

o varios

wget http://cv.uoc.es/cdocent/8X1J.pdf http://cv.uoc.es/cdocent/8X2J.pdf

Utilizar patrones.

wget http://cv.uoc.es/cdocent/*.pdf

Si la lista de ficheros a descargar es muy extensa, podemos simplificar la cosa utilizando un archivo de texto, en el que pondremos la dirección de cada archivo a descargar en una nueva linea, y llamar al programa de la siguiente manera.

wget -i links.txt

Otra opción muy interesante es la que nos permite continuar una descarga que ha sido interrumpida.

wget -c http://static.obolog.com/multimedia/blogs/banyut.jpg

Si hiciera falta usuario y password tenemos las opciones --ftp-user y --ftp-password o --http-user y --http-password según sea el protocolo de descarga.

wget --http-user=root --http-password=mi_pas http://www.servidor.com/file.zip

Si lo que queremos es bajarnos toda un sitio web, tendremos que usar la opción que nos da la recursividad en la descarga.

wget -r http://www.pagina.org

Esto no descarga el sitio completo, para ello tenemos que usar la opcion -p que indica a wget que tiene que bajar las imagenes, javascripts, etc. necesarios para desplegar la pagina.

wget -rp http://www.pagina.org

Ahora ampliaremos el caso de los patrones, una posibilidad interesante es bajarse todos los archivos de una determinada extensión, imaginemos que queremos descargar todas las imágenes de una web. Las opciones -nc es para que no descargue lo que ya esta bajado y -np para que la recursividad solo sea hacia los hijos, no hacia el padre.

wget -r -A=”jpg”,”JPG”,”gif”,”GIF” -nc -np http://www.pagina.com/dir

El mismo formato que -A tiene la opción -R, pero esta hace todo lo contrario, con ella marcamos las extensiones a excluir en la descarga, así si en el ejemplo anterior substituimos la -A por la -R, descargaremos todo los archivos menos los que tengan la extensión indicada.

La recursión puede llegar a ser un problema, por lo que disponemos de la opción -l que indica el número máximo de niveles de recursión, en el siguiente ejemplo hasta cuatro niveles (el valor por defecto es 5).

wget -r -l4 http://www.pagina.org

Para obtener una copia exacta del sitio, el programa pone a nuestra disposición la opción -m, esta opción es equivalente a todas las siguientes juntas:

  • -r : Recursividad

  • -N : Descargar solo archivos más nuevos que los locales

  • -l inf : nivel infinito de recursividad.

  • --no-remove--listing. :en FTP no borrar los archivos '.listing'

wget -m http://www.pagina.org

El siguiente problema que nos podemos encontrar al descargar un sitio web a nuestro disco local, son con los links, estos suelen apuntar al antiguo dominio, con la opción -k, wget descargará el sitio web y al finalizar convertirá todos los links en enlaces locales. También es útil adjuntar la opción -E, que convertirá todas los archivos a .html.

wget -rkE http://www.pagina.org

Demosle otra vuelta de tuerca, usaremos -H que nos permitirá que la recursión nos lleve hasta enlaces externos (si un enlace apunta a otro sitio, este también lo descarga). Esta opción puede resultar interminable, ya que descargará todo sitio al que apunte la URL que le hemos pasado. El resto de opciones utilizadas ya la hemos visto anteriormente.

wget -Hr -l inf -k -E -p http://www.servidor.html

Con todo lo que hemos visto hasta ahora tenemos más que suficiente para cubrir el 90% de nuestras necesidades, las siguientes opciones las considero un poco más avanzadas y que servirán para ajustar hasta limites insospechados nuestras descargas.

Opciones avanzadas.

Podemos hacer que la salida por consola sea desviada a un archivo utilizaremos la opción -o. Si sustituimos la opción -o por -a, la salida se añadira al final del archivo indicado.

wget -rkE -o salida.txt http://www.pagina.org

Por defecto wget realiza 20 reintentos cuando una conexión es rechazada o no encontrada (errores del tipo 404), con la opción -t podemos modificar este comportamiento. En nuestro ejemplo lo podremos a 5. Si queremos que insista hasta conseguir la conexión, le daremos un valor de 0 o inf

wget -rkE -t5

Podemos aparentar que la petición la realizamos con un navegador determinado.

wget –user-agent=Opera http://www.pagina.org/fich.iso

Otras opciones son:

  • -d : muestra mucha más información del proceso.

  • -q: modo silencioso, no muestra nada en consola.

  • -nv: desactiva la salida detallada

  • -S: muestra la respuesta del servidor.

  • -Y: activa el proxy

  • -nc: salta las descargas que ya se han realizado.

  • -random-wait: espera entre 0 y 2*wait shttp://www.pagina.orgegundos entre reintentos.

  • -T secons: segundos para terminar una conexión.

  • -w secons: tiempo de espera despúes de cada intento de descarga fallida.

  • -b: El proceso se ejecuta en segundo plano.

  • -erobots=off: ignora los archivos robots.txt

Imagen de gnuarman
+1
0
-1

No me habia encontrado antes con un post con tanto material de una misma opcion muchas gracias ver este post es ver un man en español y con ejemplos muhcas gracias me fue de gran ayuda.

+1
0
-1
Imagen de MMatadamas
+1
0
-1

Que tal amigos eh estado investigando sobre wget y me parece una muy buena herramienta, pero bueno el asunto es que quiero descargar la pagina principal de pfsense, al principio nos aparence un formulario donde introducimos el usuario y contrase;a y cuando accedemos nos manda a la pagina principal de pfsense [inline:das.pgn] la cual quiero descargar pero con wget solo me descarga el formulario, podrian ayudarme, el comando que utilo es

wget -r -l2 --no-check-certificate --user=user --password=password https://120.........

+1
0
-1