2011-01-05 29 views
111

Estoy usando wget para descargar todas las imágenes de un sitio web y funciona bien, pero almacena la jerarquía original del sitio con todas las subcarpetas y las imágenes están salpicadas. ¿Hay alguna manera para que simplemente descargue todas las imágenes en una sola carpeta? La sintaxis que estoy usando en este momento es:¿Cómo uso Wget para descargar todas las imágenes en una sola carpeta, desde una URL?

wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com 

Respuesta

156

Prueba esto:

wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com 

Aquí hay más información:

-nd impide la creación de una jerarquía de directorios (es decir no directories) .

-r permite la recuperación recursiva. Ver Recursive Download para más información.

-P establece el prefijo de directorio donde se guardan todos los archivos y directorios.

-A establece una lista blanca para recuperar solo ciertos tipos de archivos. Se aceptan cadenas y patrones, y ambos se pueden usar en una lista separada por comas (como se ve arriba). Vea Types of Files para más información.

+4

Esto en realidad no funcionó para mí. Mi ubicación para guardar fue "." y copió toda la jerarquía del sitio allí. –

+2

@ButtleButkus Parece que necesita preocuparse un poco más con la opción aceptar '-A', consulte la documentación de Wget sobre [tipos de archivos] (http://www.gnu.org/software/wget/manual/wget). .html # Tipos de archivos). Además, si está descargando al directorio actual, puede eliminar el prefijo de directorio opción '-P'. Si está descargando un único tipo de archivo, como solo jpg, use algo como 'wget -r -A.jpg http: // www.domain.com'. Mire los [ejemplos avanzados] (http://www.gnu.org/software/wget/manual/wget.html#Advanced-Usage) que proporciona la documentación de Wget. – Jon

+0

Agregar '-nd' a lo anterior lo hace funcionar. También puede especificar múltiples indicadores -A, tales como '-A" * foo * "-A" * bar * "' – Yablargo

9

Prueba con esto:

wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com 

y esperar hasta que se elimina toda la información adicional

+0

No funciona para mí.'wget -nd -r -P/Users/duraiamuthan/Descargas/images/-A jpeg, jpg, bmp, gif, png http://www.forbes.com/profile/mark- zuckerberg/' – Vivo

118
wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co 
  • -nd: no hay directorios (guardar todos los archivos en el directorio actual; -P directory cambia el directorio de destino)
  • -r -l 2: nivel recursivo 2
  • -A: extensiones aceptadas
wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2} 
  • -H: anfitriones tramo (wget no descargar archivos desde diferentes dominios o subdominios por defecto)
  • -p: articulos para recreo o de página (incluye recursos como imágenes en cada página)
  • -e robots=off: ejecute el comando robotos=off como si fuera parte del archivo .wgetrc. Esto desactiva la exclusión del robot, lo que significa que ignoras el robots.txt y las metaetiquetas del robot (debes saber las implicaciones que esto conlleva, ten cuidado).

Ejemplo: Obtener todos los .jpg archivos de una lista de directorios ejemplar:

$ wget -nd -r -l 1 -A jpg http://example.com/listing/ 
+9

+1 para la explicación – Shoan

+0

' -H -p' donde lo que supervisé, ¡zas! – tuk0z

5

De acuerdo con la página del manual de la bandera -P es:

-P prefijo --directory-prefix = prefix Establece el prefijo del directorio en el prefijo. El prefijo de directorio es el directorio donde se guardarán todos los demás archivos y subdirectorios , es decir, la parte superior del árbol de recuperación. El valor predeterminado es (el directorio actual ).

Esto significa que solo especifica el destino pero dónde guardar el árbol de directorios. No aplana el árbol en un solo directorio. Como se mencionó antes, la bandera -nd realmente hace eso.

@Jon en el futuro sería beneficioso describir lo que hace la bandera así que entendemos cómo funciona algo.

-7

utilidad wget Recupera archivos de (WWW) del World Wide Web utilizando ampliamente utilizado protocolos como HTTP, HTTPS y FTP. La utilidad Wget es un paquete de libre acceso y la licencia está bajo la licencia GNU GPL. Esta utilidad puede instalarse en cualquier sistema operativo similar a Unix, incluidos Windows y MAC OS. Es una herramienta de línea de comandos no interactiva. La característica principal de Wget es su robustez. Está diseñado de tal manera que funciona en conexiones de red lentas o inestables. Wget inicia automáticamente la descarga donde se dejó en caso de un problema de red. También descarga el archivo recursivamente. Seguirá intentando hasta que el archivo se haya recuperado por completo.

instalar wget en la máquina Linux sudo apt-get install wget

Crear una carpeta en la que desea descargar archivos. sudo mkdir myimages cd myimages

Haga clic derecho en la página web y, por ejemplo, si desea la ubicación de la imagen, haga clic derecho en la imagen y copie la ubicación de la imagen. Si hay varias imágenes a continuación, siga el siguiente:

Si hay 20 imágenes que desee descargar desde la web de una sola vez, comienza gama de 0 a 19.

wget http://joindiaspora.com/img {0..19} .jpg

+2

Su respuesta explica qué es wget y cómo usarlo para descargar imágenes numeradas secuencialmente ... tampoco relacionado con la pregunta original. – Alastair

2

Las soluciones propuestas son perfectas para descargar las imágenes y si es suficiente para guardar todos los archivos en el directorio que está utilizando. Pero si quiere guardar todas las imágenes en un directorio específico sin reproducir todo el árbol jerárquico del sitio, intente agregar "cut-dirs" a la línea propuesta por Jon.

wget -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.boia.de --cut-dirs=1 --cut-dirs=2 --cut-dirs=3 

en este caso cortadas-dirs impedirán a wget para crear subdirectorios hasta que el nivel 3 a de departamento en el sitio web de árbol jerárquico, el ahorro de todos los archivos en el directorio que specified.You puede añadir más 'cortar -dirs 'con números más altos si se trata de sitios con una estructura profunda.

Cuestiones relacionadas