NEWS
Parser Regex
-
@homoran Was soll ich sagen - es funktioniert
-Vielen Dank -hat mir extrem auf die Sprünge geholfen wie das ganze funktioniert.
Nur leider hatte ich mir das einfacher vorgestellt, insbesondere wenn noch mehr Werte aus dem Quelltext abgefragt werden sollen(Luftfeuchtigkeit etc.), deswegen auch die Frage mit dem Aufbau mit Schlüsselwörtern(Mindelheim, Temperatur, aktuell...)
Ich hatte mir nach dem Denkanstoß von dir noch das gebastelt:/ Mindelheim \| 604m.+Temperatur.+aktuell<br>[^>]+>([+-]?(?=\.\d|\d)(?:\d+)?(?:\.?\d*))(?:[eE]([+-]?\d+))?/s
in https://regex101.com/ funktioniert das ganze, leider aber nicht im Parser bzw. ich weiß nicht wie ich die Option /s angeben kann/ob das überhaupt möglich ist.
Viele Grüße
-
@ssk215 sagte in Parser Regex:
deswegen auch die Frage mit dem Aufbau mit Schlüsselwörtern(Mindelheim, Temperatur, aktuell...)
der Weg ist prinzipiell richtig, aber nicht ganz so einfach.
So ganz lange Sprünge gehen nicht. Man muss sich immer über Haltepunkte hangeln.
Man (ich) sucht sich so dicht wie möglich an dem gesuchten Wert eine möglichst eindeutige Stelle. von Dort aus dann nahtlos weiter bis zum Wert.
Einfach mehrere Worte die hintereinander irgendwo im Text virkommen, helfen nicht.ich arbeite auch über regex 101.
Was soll beim neuen rauskommen?
dein Versuch sagt da bei mir "pattern error"Luftfeuchtigkeit:
/igk[^u]+[^\d]+(\d+)
-
du kannst es mal so probieren
die s option von regex101 brauchst du nicht, da der parseradapter alle zeilenumbrüche mit einem leerzeichen ersetzt. daher ist dort alles eine einzige zeileMindelheim.*Temperatur\s</td>\s+<td height="40"><div align="center">aktuell<br>\s+<nobr>(([\d,]+))°C</nobr><font size="5"><nobr></nobr></font></div></td>
es würde aber auch das folgende schon reichen
"center">aktuell<br>\s+<nobr>([\d,]+)°C</nobr>
den ersten vorschlag habe ich mal gepostet, da du wohl den ort und das wort temperatur mit drin haben wolltest.
ich habe mal vor einiger zeit eine anleitung geschrieben wie man am besten vorgeht
https://forum.iobroker.net/topic/8379/einlesen-von-aktienkursen/81 -
Ich habe eine externe webseite mit https://...
womit ich einen Parse-Error erhalte. Kann man das beheben? -
@werner2000x was genau willst du uns sagen?
Um helfen zu können braucht es mehr Informationen. -
@homoran Ich habe bisher im Parser nur IP adressen aus dem lokalen WLAN verwendet.
Das hat funktioniert.
Nun möchte ich aus einer gesicherten Webseite mit https: Werte auslesen und bekomme im Parser immer den Fehler " Parse Error"
Die gesicherte Webseite zeigt meinen Blutzucker den ich auch im Handy unter 127.0.0.1:17580 erhalte. Ich habe keinen Weg gefunden diesen Wert vom Handy in den Raspi lesen zu können. Das würde dann ohne https: gehen.
Ich habe also die lokale Webseite des Handy 127.0.0.1 über die App " localtonet" auf eine allgemeine gesicherte Webseite weitergeleitet um sie auf einen Parser im Raspi auszuwerten zu wollen. -
@werner2000x sagte in Parser Regex:
Nun möchte ich aus einer gesicherten Webseite mit https: Werte auslesen und bekomme im Parser immer den Fehler " Parse Error"
ich wüsste nicht was das mit https:// zu tun haben soll.
Da scheint noch was anderes reinzuspielen.
Aber wie gesagt:
ohne Informationen kann man nicht helfen.@werner2000x sagte in Parser Regex:
den ich auch im Handy unter 129.0.0.1:17580
oder eher 127.0.0.1??
das ist localhost.
Dazu müsstest du den iob Server auf dem Handy laufen haben -
@homoran ja, es ist 127.0.0.1
Das iob läuft aber nicht auf den Handy. -
@werner2000x sagte in Parser Regex:
Das iob läuft aber nicht auf den Handy.
Natürlich nicht!
Deswegen geht das ja auch nicht.Wenn du im Parser Adapter die 127.0.0.1 eingibst such der Parser auf dem RasPi oder was immer du hast, nach der Seite, die es dort natürlich nicht gibt
-
@homoran das ist ja der Grund warum ich die Seite auf eine öffentliche Webseite übertragen habe. Leider geht das nur mit https:
-
@werner2000x sagte in Parser Regex:
@homoran das ist ja der Grund warum ich die Seite auf eine öffentliche Webseite übertragen habe. Leider geht das nur mit https:
???
ja und?
die rufst du auch mit https://127.0.0.1 auf??welche Seite willst du jetzt aufrufen?
und wie?
wie sieht da der Quelltext aus? -
@homoran nein, diese Webseite kann ich überall aufrufen mit https://62jsxxxc.localto.net/
P..S. den webseiten namen habe ich verändert
damit nicht jeder meinen Blutzucker
sehen kann -
@werner2000x du solltest diese Seite hier nicht einstellen, hab den Link gelöscht!
hast du im bisherigen Verlauf etwas geändert?
Da stehen Dinge die vorher nicht da standen.
So etwas geht gar nicht! -
@werner2000x sagte in Parser Regex:
immer den Fehler " Parse Error"
bitte genaue und vollständige Fehlermeldung
@homoran sagte in Parser Regex:
hast du im bisherigen Verlauf etwas geändert?
Da stehen Dinge die vorher nicht da standen.
So etwas geht gar nicht!schon wieder etwas nachträglich irgendwo hinzugefügt?
was soll das?
-
@homoran ja, ich hatte selbst gemerkt das ich die 129 falsch eingetragen waren und habe es nach 127 korrigiert aber da zwischen hast du schon geantwortet gehabt.
-
@werner2000x sagte in Parser Regex:
@homoran ja, ich hatte selbst gemerkt das ich die 129 falsch eingetragen waren und habe es nach 127 korrigiert aber da zwischen hast du schon geantwortet gehabt.
das ist aber nicht alles!
Du zerstörst damit den Sinnzusammenhang der nachfolgenden Antworten.
Ein späterer Leser kommt dann gar nicht mehr klar! -
@werner2000x sagte in Parser Regex:
musst du doch dort einloggen? versuche mal im browser mit einem inkognito fenster dort drauf zu gehen.
das kann der parser nur bedingt.wenn du im parser adapter deine internet adresse einträgst und dann den bearbeiten/stift drückst und dort dann den play knopf drückst, ohne das du irgendwelche regex angaben machst,
was kommt dann ? -
kommt zu den Fragen noch was?
@homoran sagte in Parser Regex:
welche Seite willst du jetzt aufrufen?
und wie?
wie sieht da der Quelltext aus?und
@homoran sagte in Parser Regex:
bitte genaue und vollständige Fehlermeldung
-
@oliverio Nein, es geht ohne login.
Aber die Fehlermeldung im Parser sagt "expected http" und nicht https.
Also gehe ich davon aus, dass der Parser kein https kann. -
@werner2000x
wenn ich das mit https://www.google.de mache, dann erhalte ich ein ergebnis.