Script para bajar imágenes ‘hidden’
El otro dÃa me pidieron descargar un número elevado de imágenes -unas 200- que aparecÃan en una página web de la universidad. No hubiese sido nada transcendental si las imágenes sólo se mostraran cuando se situara el puntero del ratón sobre el nombre de la imagen. Claro, al ir a situarse con el puntero sobre la imagen, ésta desaparecÃa porque tenÃa la propiedad visibility a *hidden*.
Mirar el código fuente era fundamental, pero tampoco pretendÃa estar buscando y copiando la ruta de cada imagen para acceder a ella por el navegador. Lo primero que pensé fue utilizar wget desde la consola del servidor, pero no era suficiente, ya que estaba deshabilitada la descarga (baneado) a través del comando en las polÃticas de Apache en el ficehro .htaccess, a lo que se llama Throttling Apache.
Me puse a buscar como loco y encontré la solución, utilizar la opción que oculta el tipo de navegador añadiendo -U NoSuchBrowser/1.0, por lo que ya tenÃa un paso. Claro, ir buscando por el código fuente las imágenes seguÃa siendo una tarea de chinos, por lo que decidà echar mano al código PHP. Mi idea era escribir en una variable todas las imágenes que habÃa en el código fuente en la etiqueta <img src=, por lo que gracias a aNieto encontré el comando preg_match_all, que realiza una comparación global con una expresión regular, es decir, va buscando en el código fuente un patrón y si lo encuentra, guarda el contenido especificado en un array, que más tarde se muestra con un bucle. El código serÃa algo asÃ:
$cad_buscar = '/<img\ src="(.*?).jpg"/i';$lista = preg_match_all($cad_buscar, $file, $images, PREG_SET_ORDER);
foreach ($images as $val) {
echo "wget -U NoSuchBrowser/1.0 ruta" . $val[1] . ".jpg<br />";
}
Ahora ya todo era diferente. Me hice un pequeño script en bash para que únicamente tuviera que leer las imágenes de un archivo, las comprimiera en otro archivo, cuyo nombre se le pasaba por parámetro y eliminara las imágenes del directorio. De esta manera lo que parecÃa un trabajo de chinos, lo deje en uno de *vagos*, con el consiguiente conocimiento de algunos comandos que no habÃa utilizado.
También puedes encontrarme en:
Comentarios Recientes
- TuJuerga: Es una exelente herramienta pero tedioso para realizarlo
- wister: Hola se me daño la pantalla de este celular como hago para conseguir otra o algun agente autorizado de la hp...
- Monik: Quiero poner mas de 1 archivo sitemap en mi sitio web cono hago???
- Xavi: Lo he leÃdo ya en muchos blogs, voy a tener que sumarme a la iniciativa en el mÃo. Entre la EconomÃa...
- jose luis: compre todo y no funciona ¿? esto es un a estafa
7 Comentarios
Ir al formulario | RSS Comentarios [?] | trackback uri [?]