HTTPMOD wert von webseite auslesen

Begonnen von Michi1978, 03 Januar 2024, 08:14:47

Vorheriges Thema - Nächstes Thema

Michi1978

#15
Zitat von: betateilchen am 04 Januar 2024, 10:47:30regex ist da nicht das Problem:

timestamp[\s\S]+>(\d+,\d+)
Das Problem ist, dass sich die Webseite in HTTPMOD nicht ohne weiteres aufrufen lässt, das ist die erhaltene Antwort:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>

oder das hier:

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0, viewport-fit=cover"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="WISKI-WEB" />

    <link
      rel="preload"
      href="./icons/ki/css/Kisterswater.woff2"
      as="font"
      type="font/woff2"
      crossorigin
    />

    <link rel="stylesheet" href="./icons/kim/css/external-min.css" />

    <link rel="apple-touch-icon" href="icon-192x192.png" />
    <meta name="Description" content="KISTERS WISKI-WEB" />

    <link rel="stylesheet" href="./icons/ki/css/external-min.css" />
   
   

    <script>
      sessionStorage.setItem('i18nextLng', 'de');
    </script>
    <base href="." />

    <title>LANUV - Hydrologische Messdaten Online</title>
    <script type="module" crossorigin src="./assets/index.39912ae5.js"></script>
    <link rel="modulepreload" href="./assets/highcharts.01248728.js">
    <link rel="modulepreload" href="./assets/vendor.88af4a85.js">
    <link rel="stylesheet" href="./assets/vendor.44fa1caf.css">
    <link rel="stylesheet" href="./assets/index.6f242378.css">
  </head>
  <body>
    <h1 style="display: none">Hydrologische Messdaten Online</h1>
    <head style="display: none"></head>
    <main></main>
    <ww-app-index></ww-app-index>
  </body>
</html>

::EDIT::
Habe gerade gesehen das du deinen letzten Beitrag nochmal geändert hast, der Code war da eben noch nicht drin... Daher nochmal meine nachfrage ;)
::EDIT::

Jedenfalls nix, aus dem man irgendwelche Werte extrahieren kann.
Und bei pegelonline (was viel einfacher abzufragen wäre) ist der Pegel nicht drin, weil da keine Schiffe fahren.

Genau, Pegelonline hatte ich auch anhand des Beitrages hier im Forum erst im Sinn, da merkte ich auch das die Lippe hier nicht aufgeführt ist.

Kann man hier nichts mit anfangen?


betateilchen

defmod nh HTTPMOD https://earlyfloodalert.com/de/river.php?river=Lippe
attr nh reading01Regex 2781730000200.*\n.*\n..<td>(.*).cm
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

OT:
Da merkt man den "Profi" .. bin nicht drauf gekommen, den ersten RegEx einfach auf die erste Ziffer (4 oder 5) trickern zu lassen .. dabei völlig Logisch
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Schlafsack

Da es hier um Werte von einer Webseite auslesen geht hätte ich mal eine Frage

Wie bist du überhaupt auf https://www.netzfrequenz.info/json/act.json gekommen? ALso vorallem das mit dem /json/act.json
Hintergrund ist, ich würde gern von: https://kachelmannwetter.com/de/messwerte/dresden/sonnenstunden/20240105-0600z.html ,die Sonnenstunden der Station auslesen (kleiner grauer Kreis unter A13, über Hellerau, obere Mitte von Karte.

Besten Dank

Michi1978

Zitat von: betateilchen am 04 Januar 2024, 14:38:36defmod nh HTTPMOD https://earlyfloodalert.com/de/river.php?river=Lippe
attr nh reading01Regex 2781730000200.*\n.*\n..<td>(.*).cm

Wow, das funktioniert prächtig! Kann ich dir irgendwie einen Kaffe spendieren? :)

betateilchen

Zitat von: Schlafsack am 05 Januar 2024, 09:54:49Hintergrund ist, ich würde gern von: https://kachelmannwetter.com/de/messwerte/dresden/sonnenstunden/20240105-0600z.html ,die Sonnenstunden der Station auslesen (kleiner grauer Kreis unter A13, über Hellerau, obere Mitte von Karte.

Bei Kachelmann ist das doch völlig simpel, da gibt es eine API nebst Beschreibung der API.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Schlafsack

#21
ich glaube ich brauche ne Brille? oder noch einen etwas genaueren Denkanstoß wie ich das in HTTPMOD einbinde.

Habe bischen was kopiert, da fehlt aber leider noch was  ???

defmod HTTP_Kachelmann HTTPMOD https://kachelmannwetter.com/de/messwerte/dresden/sonnenstunden.html 10
attr HTTP_Kachelmann enableControlSet 1
attr HTTP_Kachelmann enableCookies 1
attr HTTP_Kachelmann get03Name Sonnenscheindauer
attr HTTP_Kachelmann get03Poll 1
attr HTTP_Kachelmann get03URL https://kachelmannwetter.com/de/messwerte/dresden/sonnenstunden.html
attr HTTP_Kachelmann handleRedirects 1
attr HTTP_Kachelmann timeout 7

betateilchen

#22
  • das Kapern von fremden Threads für eigene Probleme ist hier eher unüblich.
  • Mach für Deine Fragen bitte einen eigenen Thread auf.
  • Eröffne Deinen Thread bitte im richtigen Unterforum zu HTTPMOD, nicht in den Anfängerfragen.

https://forum.fhem.de/index.php?topic=13092.0



Das hier kommt übrigens in HTTPMOD an, wenn Du Deine URL aufrufst:

<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>
 
You don't have permission to access "http&#58;&#47;&#47;kachelmannwetter&#46;com&#47;de&#47;messwerte&#47;dresden&#47;sonnenstunden&#46;html" on this server.<P>
Reference&#32;&#35;18&#46;5e62645f&#46;1704456030&#46;39c2714d
</BODY>
</HTML>

Deshalb mein Hinweis auf die offizielle API von Kachelmann, die genau für solche Datenabfragen geschaffen wurde.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Schlafsack

Wird gemacht Großer Meister.

PS: Deinen Hinweis habe ich verfolgt und mich dort sogar registriert. Nur leider ist das mit der API nicht ganz kostenlos, deshalb wollte ich es so versuchen.

Besten Dank trotzdem