PC-Programmierung
›
Thread
Erzeugte Grafik einer Webseite "auslesen"
T
Tier
(tier)
09.09.2024 10:24
#7733459
Hallo,
ich würde gerne eine Online erzuegte Grafik, die die Regenwahrscheinlichkeit der nächsten 2 Stunden darstellt, automatisiert auslesen ..
Mit curl (Linux) bekommt man alle Infos, aber eben nur nicht diese Grafik ..
.. hat jemand eine Idee, wie man hier automatisiert eine Screencopy machen könnte, möglichst ohne grafische Oberfläche ;-)
Mein Ziel ist es, dies grafische Vorhersage mit einem ESP32 inkl. Display darzustellen.
Und nein, die Wetter-Seite bietet die Roh-Daten nicht an, ist aber erfahrungsgemäß recht gut in dieser Kurzzeitprognose.
Freue mich über Tips ...
Solange die Webseite geheim ist, wird kaum jemand etwas dazu sagen koennen.
GM
Georg M.
(g_m)
09.09.2024 10:47
#7733475
Wendels B. schrieb:
Webseite geheim
wetter.com
Nur das Regenradar-Iframe:
https://www.tagesschau.de/wetter/regenradar/radarbilder/index.html
das tickert per Javascript der Reihe nach Bild-URLs durch...
Liste der URLs steht (mit Uhrzeit) im Seiten-Quelltext:
1
ra_files_l = [
2
[ "regenradar_tagesschau.de_gesamt_l_000_1725872100000.jpg" , "" , "" , "10:55" , "1000" ],
3
[ "regenradar_tagesschau.de_gesamt_l_000_1725872400000.jpg" , "" , "" , "11:00" , "1000" ],
4
[ "regenradar_tagesschau.de_gesamt_l_000_1725872700000.jpg" , "" , "" , "11:05" , "1000" ],
5
[ "regenradar_tagesschau.de_gesamt_l_000_1725873000000.jpg" , "" , "" , "11:10" , "1000" ],
6
[ "regenradar_tagesschau.de_gesamt_l_000_1725873300000.jpg" , "" , "" , "11:15" , "1000" ],
7
[ "regenradar_tagesschau.de_gesamt_l_000_1725873600000.jpg" , "" , "" , "11:20" , "1000" ],
8
[ "regenradar_tagesschau.de_gesamt_l_000_1725873900000.jpg" , "" , "" , "11:25" , "1000" ],
9
[ "regenradar_tagesschau.de_gesamt_l_000_1725874200000.jpg" , "" , "" , "11:30" , "1000" ],
10
[ "regenradar_tagesschau.de_gesamt_l_000_1725874500000.jpg" , "" , "" , "11:35" , "1000" ],
11
[ "regenradar_tagesschau.de_gesamt_l_000_1725874800000.jpg" , "" , "" , "11:40" , "1000" ],
12
[ "regenradar_tagesschau.de_gesamt_l_000_1725875100000.jpg" , "" , "" , "11:45" , "1000" ],
13
[ "regenradar_tagesschau.de_gesamt_l_000_1725875400000.jpg" , "" , "" , "11:50" ,
14
15
usw ...
5 verschiedene Auflösungen sind wählbar, Zeile mit "ra_files_l" ist "large" mit etwas unter 500x500 Pixeln.
Ansonsten sind die Dateinamen wohl auch leicht erratbar, ist ein unix-timestamp in ms...
T
Tier
(tier)
09.09.2024 12:36
#7733519
Wendels B. schrieb:
Solange die Webseite geheim ist, wird kaum jemand etwas dazu sagen
koennen.
https://www.donnerwetter.de/wetter/neuwied/DE21583.html
Tier schrieb:
https://www.donnerwetter.de/wetter/neuwied/DE21583.html
das ist eine SVG-Vektorgrafik.
Am einfachsten kriegst du die auf deinen ESP, wenn du nur die Rohdaten nimmst und dir damit selber eine Grafik zeichnest.
Wie du an die Daten kommst, verrät dir das JS auf der seite:
... var lon="7.4667";var lat="50.4332"; ...
1
function loadRainChart ( t , e , a ) {
2
$ . ajax ({
3
url: ' //calc.donnerwetter.de/cgi-bin/rainforecast/get_rainforecast.py',
4
data: {
5
lon: e ,
6
lat: a
7
},
8
type: ' get ' ,
9
dataType: ' jsonp ' ,
-> Kriegst zwei Arrays, eins mit Uhrzeiten und eins mit der Regenwahrscheinlichkeit im Bereich 0..1 dazu..
T
Tier
(tier)
09.09.2024 12:56
#7733526
wow - herzlichen Dank .. in runzel noch die Stirn, wie Du da an die Daten kommst, kann kein java ..
Εrnst B. schrieb:
1
> //calc.donnerwetter.de/cgi-bin/rainforecast/get_rainforecast.py
2
>
Da benutzt einer wirklich noch CGIs... :-)
Tier schrieb:
wow - herzlichen Dank .. in runzel noch die Stirn, wie Du da an die
Daten kommst, kann kein java ..
Ist Javascript, kein Java. Die beiden haben außer 5 Buchstaben im Namen nicht viel gemeinsam.
ist einfach nur ein GET mit Parametern.
in "curl" übersetzt:
1
curl 'https://calc.donnerwetter.de/cgi-bin/rainforecast/get_rainforecast.py?lon=7.4667&lat=50.4332'
2
3
-->
4
5
None({
6
"labels":
7
["12:55", null, null, null, null, "13:20", null, null, null, null, "13:45", null, null, null, null, "14:10", null, null, null, null, "14:35", null, null, null, "14:55"],
8
"values":
9
[0.10593750476837158, 0.0, 0.24796874523162843, 0.1548437476158142, 0.24328124523162842, 0.3590624928474426, 0.16734374761581422, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
10
});
(das "None()" ist dem "JSONP"-Datenformat geschuldet. Einfach ignorieren.)
Ein T. schrieb:
Da benutzt einer wirklich noch CGIs... :-)
Die benutzen auch noch "var" statt "let/const", jquery & Ajax statt "fetch" usw.
Die Seite ist halt technisch teilweise in den 1990ern stehengeblieben, teilweise sind aber auch modernere Sachen reingeschoben...
Egal, macht es nur leichter da ohne Session-Cookies, Cross-Origin-Gehampel usw. die Daten abzugreifen.
T
Tier
(tier)
09.09.2024 13:11
#7733539
Danke Ernst !!
Boah - umfall . . genial .... ganz ganz herzlichen Dank !!!!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
Noch kein Account?
Die Registrierung ist kostenlos und dauert nur eine Minute.
Jetzt registrieren