Erzeugte Grafik einer Webseite "auslesen"

#7733459
Lesenswert?

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 ...

#7733476
Lesenswert?

Probeweise https://www.tagesschau.de/wetter/regenradar-deutschland

Firefox - Extras - Seiteninformation - Medien - irgendwo in der Liste Die unterste Fundstelle war gerade eben: https://www.tagesschau.de/wetter/regenradar/radarbilder/regenradar_tagesschau.de_gesamt_l_020_1725870900000.jpg

#7733512
Lesenswert?

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...

Angehängte Dateien:
#7733522
Lesenswert?

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..

Angehängte Dateien:
#7733533
Lesenswert?

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.)

#7733537
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren