¿Puedo descargar todas las imágenes de una página?

¿Hay alguna manera de que pueda ejecutar un script con una determinada página web como argumento que descargará todas las imágenes desde allí?

¿Has mirado en Automator? Hay un complemento Obtener URL de imagen de la página web ya escrito. Tenga cuidado con las preguntas demasiado amplias (además de inundar el sitio con demasiadas preguntas sin respuestas; el sitio funciona mejor cuando usted devuelve y solo pregunta, incluso si todas las preguntas son buenas).

Respuestas (5)

Puede usar un flujo de trabajo de Automator para descargar imágenes incrustadas en una página web o imágenes vinculadas desde una página web. Un buen punto de partida para un flujo de trabajo es:

  1. Obtener la página web actual de Safari
  2. Obtener URL de imagen de la página web
  3. URL de descarga

Descarga de imágenes de páginas web con Automator en Mac OS X 10.8

Puede cambiar el flujo de trabajo para usar una lista de páginas web para buscar.

Automator se incluye con Mac OS X en la Applications > Utilitiescarpeta.

¿Copiar todas las URL de las imágenes? Lynx -dumppodría funcionar en la descarga pero mucho análisis, ¿no hay un método más fácil? -1 a menos que se aclare el segundo punto: puede ser mucho trabajo...
@hhh la segunda sección, obtener URL de imágenes, se realiza mediante la acción Automator que se muestra en la captura de pantalla. No hay trabajo significativo para el usuario.
+1 oye, esto es genial, ¿por qué no puedo cambiar mi voto negativo a positivo? No sabía que esto es tan fácil! Gracias por compartir :)
wget -nd -r -l1 -p -np -A jpg,jpeg,png,svg,gif -e robots=off http://www.apple.com/itunes/
  • -nd (sin directorios) descarga todos los archivos al directorio actual
  • -r -l1 (nivel recursivo 1) descarga páginas vinculadas y recursos en la primera página
  • -p (requisitos de la página) también incluye recursos en páginas enlazadas
  • -np (sin padre) no sigue los enlaces a los directorios principales
  • -A (aceptar) solo descarga o guarda archivos con las extensiones especificadas
  • -e robots=off ignora robots.txt y no descarga un archivo robots.txt al directorio actual

Si las imágenes están en un host o subdominio diferente, debe agregar -H para abarcar hosts:

wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off http://example.tumblr.com/page/{1..2}

También puedes usar curl:

cd ~/Desktop/; IFS=$'\n'; for u in $(curl -Ls http://example.tumblr.com/page/{1..2} | sed -En 's/.*src="([^"]+\.(jpe?g|png))".*/\1/p' | sort -u); do curl -s "$u" -O; done

-L sigue a los encabezados de ubicación (redireccionamientos). -O envía archivos al directorio actual con los mismos nombres.

donde se descarga? solo aparece la página principal en el directorio de trabajo... ¿los archivos vinculados se guardan en otro lugar?

Aquí hay una solución hacky (pero funciona). Espero que alguien pueda encontrar uno mejor.

  1. En Terminal, usa wget --page-requisites http://example.com/. Esto descargará la página web en example.com y todos los recursos vinculados desde ella (como imágenes, hojas de estilo y scripts). Más información sobre --page-requisites. Nota: Puede agregar muchas URL separadas por espacios para descargar muchas a la vez. Si muchos son del mismo servidor, debe usar algo comowget --wait=2 para evitar sorber archivos demasiado rápido.

  2. Abra la carpeta en la que descargó esos archivos y use Spotlight para separar las imágenes de los otros archivos. Asumiré que tienes Mountain Lion. Escribe "Imagen" en el campo de búsqueda y selecciona Tipos > Imagen.

Solo descargó el código HTML, ninguna de las imágenes. Parece ser lo mismo que si hubiera hecho "Guardar como..." en mi navegador web.
O el sitio está usando JavaScript para cargar el contenido, o lo bloquea wgetel agente de usuario. En el segundo caso, puede intentar usar wget -U "enter your web browser's user-agent here"para fingir que es un navegador web real.
@JShoe Acabo de probar el indicador -U con el agente de usuario de Safari y funciona.
Estaba usando Chrome e intentaba descargar desde imgur. Además, ¿qué es un agente de usuario?
@JShoe El agente de usuario es lo que usa un navegador o cliente como wget para identificarse en un servidor. Este sitio web le mostrará la cadena de agente de usuario que su navegador envió a su servidor. Eso es lo que usé con wget -U.
Bien, ejecuté con éxito el comando actualizado, pero solo descargué el código HTML.
Podría usar Lynx -dumpy analizar todas las URL de imágenes allí o tal vez algún raspador, tratando de encontrar una mejor solución, aunque esto es bueno. ¿Podría explicar cómo obtuvo GNU coreutils en OS X?
@hhh Lo compilé desde la fuente, pero también puedes usar Homebrew o MacPorts. (Creo que solía venir con OS X?)

Si conoce el patrón en la URL, podría usar la solución *ix con Curl: ¿Usar curl para descargar imágenes del sitio web usando comodines?

Esto no es innecesario ya que Automator ya lo tiene.
... y se desaconsejan las respuestas de solo enlace y la respuesta aceptada ya muestra cómo hacerlo en Automator.