wget alterando o nome da imagem na página

wget alterando o nome da imagem na página

A imagem é gerada uma vez a cada nminuto e quero levar cada uma delas para meu diretório local. Não tive sucesso em obter a imagem png usando o comando:

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

pois está bloqueado pelo site e não posso usar

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

já que o nome das imagens muda de atualização para atualização.

A imagem, entretanto, está vinculada http://url.com/home/index.htmle eu poderia obter o nome do arquivo a partir daí. Qual é uma maneira robusta de fazer isso? Conheço o padrão a ser procurado: é a única imagem chamada do diretório /home/images/.

Responder1

Duas estratégias:

  • index.html grepestratégia

Só funciona, desde que haja apenas uma referência png em 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
  • Emulação de navegador modificando cabeçalhos de solicitação

Exemplos de como fazer isso sãoaqui,aquieaqui.

informação relacionada