A imagem é gerada uma vez a cada n
minuto 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.html
e 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
grep
estraté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