wget cambiando el nombre de la imagen desde dentro de la página

wget cambiando el nombre de la imagen desde dentro de la página

La imagen se genera una vez cada nminutos y quiero llevar cada una de ellas a mi directorio local. No tuve éxito en obtener la imagen png usando el comando:

wget -r -l1 --no-parent -A.png http://url.com/home/images/

ya que está bloqueado por el sitio y no puedo usarlo

wget http://url.com/home/images/filename.png

ya que el nombre de las imágenes cambia de actualización en actualización.

Sin embargo, la imagen está vinculada http://url.com/home/index.htmly pude obtener el nombre del archivo desde allí. ¿Cuál es una forma sólida de hacer esto? Conozco el patrón a buscar: es la única imagen que se llama desde el directorio /home/images/.

Respuesta1

Dos estrategias:

  • index.html grepestrategia

Solo funciona siempre que solo haya una referencia png en index.html:

#!/bin/bash
wget http://url.com/home/images/index.html
LINK=$(cat index.html | grep -zPo 'href=.*.png"')
LINK=${LINK#href=\"}; LINK=${LINK%\"}
wget --no-parent "http://url.com/home/images/$LINK"
rm index.html
  • Emulación del navegador modificando los encabezados de solicitud

Ejemplos de cómo hacerlo sonaquí,aquíyaquí.

información relacionada