Lo que se me ocurria era hacerle un grep a las lineas que contenian el filename de la imagen, y luego concatenarle la URL completa y pasarle un wget.
El plan sonaba bien, excepto que XML, es un oneliner, es decir que todos los elementos van en una misma linea.
Total que me he decidido bajar la herramienta XMLStartlet que lo pueden sacar el repositorio EPEL si estas en CentOS7 (para los Ubunteros, lo pueden instalar con el apt-get)
yum -y install epel-release
yum -y install xmlstartlet
Para usarlo, les recomiendo primero identificar lo siguiente:
- Si están usando namespace (dice xmlns al inicio del archivo) porque de eso depende la sintaxis.
- La ruta donde vas a echar las cosas (lo que descargues).
- Los campos disponibles del XML , con el comando:
Nota: Los argumentos siguientes significan el(elementos) y -u (filtra elementos unicos), para mas info mirarle el --help.
(Mi archivo usa namespace, por lo que debo definirlo antes de hacer la operacion.)
xmlstarlet sel -N s=http://s3.amazonaws.com/doc/2006-03-01/ -t -v "/s:TagPadre/s:TagContenido/s:Imagen" tuarchivo.xml
A partir del STDOUT que genere, se puede redireccionar a otro archivo, enviarlo a un less, o cualquier cosa que en su imaginación puedan llevar a cabo.
Nota: Los argumentos siguientes significan
sel seleccionar data.
-N definir namespace.
-t extraer como texto
-v extraer el value del tag
Para hacer la prueba, haganlo con este XML (lo guardan como tuarchivo.xml
<TagPadre xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>uploadtrailhn</Name><Prefix></Prefix><Marker></Marker><MaxImagens>1000</MaxImagens><IsTruncated>true</IsTruncated><TagContenido><Imagen>00001104.JPG</Imagen><LastModified>2017-11-29T16:11:30.000Z</LastModified><ETag>"4a6fe12d0a9589a9b42f25f09668a65c-1"</ETag><Size>527164</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00001405.JPG</Imagen><LastModified>2017-11-30T09:18:05.000Z</LastModified><ETag>"78f0f7a8f5ccdce14e7d334a0a654abd-1"</ETag><Size>443011</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00001606.JPG</Imagen><LastModified>2017-11-30T09:18:05.000Z</LastModified><ETag>"a7440f915a49dbe70b559c5e8abbb575-1"</ETag><Size>625259</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00002104.JPG</Imagen><LastModified>2017-11-29T09:32:44.000Z</LastModified><ETag>"8ac74a872a1932bd5d0a4136e259cde5-1"</ETag><Size>549429</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00002405.JPG</Imagen><LastModified>2017-11-30T09:18:05.000Z</LastModified><ETag>"de89135a04c7a1a15e54becd47dd8cf1-1"</ETag><Size>443238</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00002606.JPG</Imagen><LastModified>2017-11-30T09:18:05.000Z</LastModified><ETag>"65759310cc5eeb5c1c22193b844dfebc-1"</ETag><Size>533083</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00003104.JPG</Imagen><LastModified>2017-11-29T10:48:44.000Z</LastModified><ETag>"68bc66fd3a2c258594907866bf0098d8-1"</ETag><Size>491562</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00003405.JPG</Imagen><LastModified>2017-12-01T20:43:05.000Z</LastModified><ETag>"f2035bd835933ccaad83cb3f2992fe86-1"</ETag><Size>453667</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00003606.JPG</Imagen><LastModified>2017-12-01T19:53:05.000Z</LastModified><ETag>"342e05d1cb902c598f15e4c521d8ff39-1"</ETag><Size>570140</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00004104.JPG</Imagen><LastModified>2017-11-29T15:03:17.000Z</LastModified><ETag>"fc8b60f5e3d2ae1d8352388f6e0985de-1"</ETag><Size>562117</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00004405.JPG</Imagen><LastModified>2017-11-29T19:10:29.000Z</LastModified><ETag>"ad9afc68961bf71efd73dadefda7aaa6-1"</ETag><Size>434733</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00004606.JPG</Imagen><LastModified>2017-11-29T19:10:30.000Z</LastModified><ETag>"e83b14462ce035d5fbea9cffd63acb73-1"</ETag><Size>561650</Size><StorageClass>STANDARD</StorageClass></TagContenido><TagContenido><Imagen>00005104.JPG</Imagen><LastModified>2017-11-29T10:38:44.000Z</LastModified><ETag>"ba709e758307d443b901d99d972c2287-1"</ETag><Size>547773</Size><StorageClass>STANDARD</StorageClass></TagContenido></TagPadre>
Macizo!!!
ResponderEliminarOjalá te sirva en el futuro. Si tenes alguna idea o duda, podes compartirla.
Eliminar