Das Bild wird einmal pro n
Minute generiert und ich möchte jedes davon in mein lokales Verzeichnis übertragen. Mit dem folgenden Befehl konnte ich das PNG-Bild nicht abrufen:
wget -r -l1 --no-parent -A.png http://url.com/home/images/
da es von der Site blockiert wird und ich es nicht verwenden kann
wget http://url.com/home/images/filename.png
da sich die Namen der Bilder von Update zu Update ändern.
Das Bild ist jedoch verlinkt http://url.com/home/index.html
und ich könnte den Dateinamen von dort abrufen. Was ist eine robuste Möglichkeit, dies zu tun? Ich kenne das Suchmuster: Es ist das einzige Bild, das aus dem Verzeichnis aufgerufen wird /home/images/
.
Antwort1
Zwei Strategien:
index.html
grep
Strategie
Es funktioniert nur, solange nur eine PNG-Referenz vorhanden ist in 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
- Browseremulation durch Modifizierung von Request-Headern