Bilder automatisch downloaden

marvin09

Enthusiast
Thread Starter
Mitglied seit
27.06.2010
Beiträge
1.154
Ort
Stuttgart
Ich hätte mal eine Frage:

Auf dem Stuttgarter Fernsehturm gibt es eine sehr nette Webcam, die sich per Javascript alle 30 sekunden aktualisiert. Die 3 Bilder werden dabei immer ersetzt.
Gibt es eine Möglichkeit, diese Bilder auf Wunsch alle 30 sekunden zu speichern?

Sowas wäre zur Wetterbeobachtung praktisch:)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Glaube das ginge sogarschon über
Ich glaube so einfach wird es in diesem Falle leider nicht:(

Es sind 3 einzelne Bilder mit dem Namen current, current2 und current3.
Da diese ja immer gleich heißen, müssen diese zusätzlich noch mit Zeit und Datum betitelt werden, sonst findet man da nacher ja niemals wieder was.
Das ganze soll dann in einen wählbaren Ordner gespeichert werden. Solang, bis das Script wieder geschlossen wird.
Vielleicht mit einer kleinen Schleife, dass das Script nicht versehentlich ewig läuft.
 
Mit dem folgenden Skript sollte das gehen:

Code:
#!/bin/bash
############################
#                          #
# WebImage Downloader      #
# (c) foxxx                #
#                          #
# For personal usage only  #
#                          #
############################

# CONFIG SETTINGS:
IMGURL1=""              # link to image 1
IMG1NAME="webcam1"      # name of image 1
IMG1ENDING=""           # ending of image 1 e.g. "png", "jpg", "gif", exclude the dot "." !
IMGURL2=""              # link  to image 2
IMG2NAME="webcam2"      # name of image 2
IMG2ENDING=""           # ending of image 2 e.g. "png", "jpg", "gif", exclude the dot "." !
IMGURL3=""              # link to image 3
IMG3NAME="webcam3"      # name of image 3
IMG3ENDING=""           # ending of image 3 e.g. "png", "jpg", "gif", exclude the dot "." !
TARGETDIR=""            # where the images shall be downloaded to, exclude the finishing slash "/" !
WAITTIME=31             # time in seconds between downloading new image
RUNS=60                 # how many downloads shall be done

#############################
# DO NOT CHANGE CODE BELOW! #
#############################

for (( i=1; i<=$RUNS; i++ ))
do
        DATE=$(date +"%d.%m.%y_%H.%M.%S")
        IMG1=$TARGETDIR"/"$IMG1NAME"_"$DATE"."$IMG1ENDING
        IMG2=$TARGETDIR"/"$IMG2NAME"_"$DATE"."$IMG2ENDING
        IMG3=$TARGETDIR"/"$IMG3NAME"_"$DATE"."$IMG3ENDING
        wget $IMGURL1 -O $IMG1
        wget $IMGURL2 -O $IMG2
        wget $IMGURL3 -O $IMG3
        sleep $WAITTIME
done

exit 0

Im oberen Teil einfach deine Daten eintragen, also die URLs zu den Bildern, welchen Namen diese bekommen sollen und welche Dateiendung sie haben.
Eine komfortablere Lösung ist mir so schnell nicht eingefallen, das müsste aber eigentlich reichen.

Ich hab das jetzt nicht intensiv getestet, probier es einfach mal aus ;)
--> Code in eine <script>.sh Datei kopieren, speichern und mit chmod +x <script>.sh ausführbar machen. Anschließend kannst du es mit ./<script>.sh starten


mfg
foxxx :wink:

PS: Das Teil läuft nicht automatisch im Hintergrund, das ginge mittels: screen -dmS webcamdownloader ./<script>.sh
 
Zuletzt bearbeitet:
Es funktioniert nur bei den ersten Bildern, danach meint er immer, die Bilder die er erstellen will, sind in keinem Verzeichnis zu finden. Ist ja eigentlich logisch...

Code:
marvin@Workstation:~$ pwd
/home/marvin
marvin@Workstation:~$ cd Arbeitsfläche
marvin@Workstation:~/Arbeitsfläche$ ./Fernsehturmdownloader.sh
--2012-06-17 22:51:29--  http://212.9.188.64/current2.jpg?1339888715
Verbindungsaufbau zu 212.9.188.64:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 36727 (36K) [image/jpeg]
In »»/home/marvin/Arbeitsfläche/Webcam/current2_17.06.12_22.51.jpg«« speichern.

100%[================================================>] 36.727      --.-K/s   in 0,1s    

2012-06-17 22:51:29 (242 KB/s) - »»/home/marvin/Arbeitsfläche/Webcam/current2_17.06.12_22.51.jpg«« gespeichert [36727/36727]

--2012-06-17 22:51:29--  http://212.9.188.64/current.jpg?1339888715
Verbindungsaufbau zu 212.9.188.64:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 16678 (16K) [image/jpeg]
In »»/home/marvin/Arbeitsfläche/Webcam/current_17.06.12_22.51.jpg«« speichern.

100%[================================================>] 16.678      --.-K/s   in 0,1s    

2012-06-17 22:51:30 (167 KB/s) - »»/home/marvin/Arbeitsfläche/Webcam/current_17.06.12_22.51.jpg«« gespeichert [16678/16678]

--2012-06-17 22:51:30--  http://212.9.188.64/current3.jpg?1339888715
Verbindungsaufbau zu 212.9.188.64:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 11764 (11K) [image/jpeg]
In »»/home/marvin/Arbeitsfläche/Webcam/current3_17.06.12_22.51.jpg«« speichern.

100%[================================================>] 11.764      --.-K/s   in 0,06s   

2012-06-17 22:51:30 (205 KB/s) - »»/home/marvin/Arbeitsfläche/Webcam/current3_17.06.12_22.51.jpg«« gespeichert [11764/11764]

/home/marvin/Arbeitsfläche/Webcam//home/marvin/Arbeitsfläche/Webcam/current2_17.06.12_22.51.jpg_17.06.12_22.52.jpg: Datei oder Verzeichnis nicht gefunden
/home/marvin/Arbeitsfläche/Webcam//home/marvin/Arbeitsfläche/Webcam/current_17.06.12_22.51.jpg_17.06.12_22.52.jpg: Datei oder Verzeichnis nicht gefunden
/home/marvin/Arbeitsfläche/Webcam//home/marvin/Arbeitsfläche/Webcam/current3_17.06.12_22.51.jpg_17.06.12_22.52.jpg: Datei oder Verzeichnis nicht gefunden
 
Ah sorry mein Fehler, hab da eine Variable innerhalb der for-Schleife unglücklich benannt und den ursprünglichen Wert überschrieben.

Ich habe meinen obigen Post jetzt korrigiert, das müsste nun klappen ;)


mfg
foxxx :wink:
 
Super, es funktioniert!:banana:

Nurnoch eine Kleinigkeit:
Ist es etwas großes, noch eine Sekundenanzeige einzufügen? Bei 31 sekunden passiert es manchmal, dass die aktuelle Minute überschrieben wird.

Und diese Methode ist sicher, muss mir also keine Sorgen machen oder?
 
Super, es funktioniert!:banana:

Nurnoch eine Kleinigkeit:
Ist es etwas großes, noch eine Sekundenanzeige einzufügen? Bei 31 sekunden passiert es manchmal, dass die aktuelle Minute überschrieben wird.

Und diese Methode ist sicher, muss mir also keine Sorgen machen oder?

Für eine Sekundenanzeige im Dateiname musst du die DATE=... Zeile in der for-Schleife auf folgendes ändern:
Code:
DATE=$(date +"%d.%m.%y_%H.%M.%S")
Das .%S hängt hinten die Sekunden an ;)

Ich weiß nur nicht, was du mit "sicher" meinst :confused:
 
Okay, das funktioniert.

Danke nochmal für die schnelle Hilfe;)

Und wenn ich die Bilder nur privat nutze, sollte es doch da keine Probleme geben oder?
 
Normalerweise nicht, du kannst sie dir ja auch alle 30 Sekunden selbst auf der Seite angucken, warum also nicht abspeichern ?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh