Puede usar este código bash
para la URL real que proporcionó en tu comentario .
for i in $(for j in {1..8}; do
curl http://occipital.com/user/01ca-255/george-coghill/$j/;
done \
| sed -n 's,.*/viewer/\(......_flat\)_small\.jpg.*,http://occipital.com/images/viewer/.jpg,p'
); do
curl -L -o "${i##*/}" "$i";
done
Siéntase libre de escribir este comando como una línea; Todos los saltos de línea solo se agregaron para aumentar la legibilidad. Puedes copiarlos o eliminarlos, lo que quieras.
Lo que hace este código:
- Iterar en las 8 páginas de la galería de su cuenta
- Extraiga los nombres de las imágenes de las imágenes de vista previa
- Obtenga todas las imágenes de tamaño completo con esta lista de nombres
Si solo desea descargar archivos que no existen y no conoce la cantidad de páginas de la galería al principio, puede ajustar el código a esto:
for i in $(
j=1;
while curl --max-redirs 0 -L -f \
http://occipital.com/user/01ca-255/george-coghill/$((j++))/; do
:;
done \
| sed -n 's,.*/viewer/\(......_flat\)_small\.jpg.*,http://occipital.com/images/viewer/.jpg,p'
); do
[[ -f "${i##*/}" ]] || curl -L -o "${i##*/}" "$i";
done
El primer código ahora incrementa el número de página hasta que se produce una redirección o un error. El servidor lo redirigirá a la última página existente si intenta visitar una página después de las existentes. La parte [[ -f … ]] ||
ejecutará curl
solo si el archivo correspondiente aún no existe.