Изображение генерируется раз в n
минуту, и я хочу получить каждое из них в свой локальный каталог. Мне не удалось получить png-изображение с помощью команды:
wget -r -l1 --no-parent -A.png http://url.com/home/images/
так как он заблокирован сайтом, и я не могу им пользоваться
wget http://url.com/home/images/filename.png
так как название изображений меняется от обновления к обновлению.
Изображение, однако, связано, http://url.com/home/index.html
и я могу получить имя файла оттуда. Какой надежный способ сделать это? Я знаю шаблон для поиска: это единственное изображение, которое вызывается из каталога /home/images/
.
решение1
Две стратегии:
index.html
grep
стратегия
Это работает только в том случае, если в файле есть только одна ссылка на png 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
- Эмуляция браузера путем изменения заголовков запроса