NEWS
Adapter - Parser (regEx)
-
@Qlink sagte in Adapter - Parser (regEx):
im parser Adapter passiert erst die unterscheidung welchen Wert über NUM !
Ja!
Entweder musst du für jeden Fall ein eindeutiges RegEx bauen, so dass es nur ein match gibt, oder du nimmst ein möglichst universelles (aber Achtung, da sollte kein Mist bei rauskommen) und filterst dann die z.B.21 matches über die Num
@Homoran Ich bevorzuge eindeutige Matches so es denn unique Werte gibt mit denen das möglich ist. Wenn man mehrere Werte aus einer Quelle will, muss man so oder so mehrere Objekte mit jeweils einem RegEx erstellen. Man kann natürlich bei z.B. 3 Werten und einem universellen RegEx mit 3 Klammerpaaren dann mit Num 0-2 arbeiten, aber ich hab eben lieber 3 verschiedene RegEx die exakt nur da matchen wo einer der 3 Werte existiert.
Je nach Quelldaten kann es aber sein dass man Num braucht. -
@Homoran Ich bevorzuge eindeutige Matches so es denn unique Werte gibt mit denen das möglich ist. Wenn man mehrere Werte aus einer Quelle will, muss man so oder so mehrere Objekte mit jeweils einem RegEx erstellen. Man kann natürlich bei z.B. 3 Werten und einem universellen RegEx mit 3 Klammerpaaren dann mit Num 0-2 arbeiten, aber ich hab eben lieber 3 verschiedene RegEx die exakt nur da matchen wo einer der 3 Werte existiert.
Je nach Quelldaten kann es aber sein dass man Num braucht. -
Ich habe jetzt soweit alle Werte.
Einzig die geschätzte Laufzeit meiner USV ärgert mich etwas. Ich würde gerne 1 oder 2 Nachkommastellen ebenfalls auslesen, bekomme aber nur Stellen vor dem Komma:
mit
"Estimated Runtime"[^\:]+:\s\"(\d+){ "SensorApp": "HWiNFO", "SensorClass": "UPS", "SensorName": "Estimated Runtime", "SensorValue": "51,6833333333333", "SensorUnit": "min", "SensorUpdateTime": 1559130047 },
-
Ich habe jetzt soweit alle Werte.
Einzig die geschätzte Laufzeit meiner USV ärgert mich etwas. Ich würde gerne 1 oder 2 Nachkommastellen ebenfalls auslesen, bekomme aber nur Stellen vor dem Komma:
mit
"Estimated Runtime"[^\:]+:\s\"(\d+){ "SensorApp": "HWiNFO", "SensorClass": "UPS", "SensorName": "Estimated Runtime", "SensorValue": "51,6833333333333", "SensorUnit": "min", "SensorUpdateTime": 1559130047 },
-
@Qlink \d matcht nur bei Ziffern. Gebrochene Zahlen enthalten aber Ziffern plus Dezimaltrennzeichen. Auch wenn dieser ein Punkt ist, würde \d nicht matchen. Alle Trennzeichen müssen explizit mit ins regex.
So sollte es funktionieren:
"Estimated Runtime"[^\:]+:\s\"(\d+,\d+) -
Hallo zusammen,
ich komme mit dem Parser nicht zurecht. Ich versuche von der Seite https://abfahrten.hvv.de/75870033-9dd4-41c0-81bb-903c93fdc819 Bus-Nummer, Richtung und Abfahrzeit auszulesen. Ich habe dunkle Views erstellt, da passt die weiße Farbe einfach nicht rein. Leider schaffe ich jedoch nicht, mit dem Parser etwas auszulesen. Kann mir dabei jemand helfen?
Danke schon vorab!
-
Schade... Gibt es denn eine andere Möglichkeit die Daten auszulesen? Oder zumindest die Farben der eingebundenen Webseite zu invertieren?
-
Kurze Verständnis Frage, ich parse auf der clever-tanken Seite einen Super Plus Wert z.B. Tanke
Mit dem RegEx
(?:4">)(\d+.\d.)bekomme ich auch über die regex101 Seite einen entsprechenden Match der auch wunderbar passt. Wenn ich mir nun den erzeugten Datenpunkt anschaue, finde ich dort nur den Wert ohne Punkt angezeigt:

Ansonsten steht die Regel auf Rolle "Wert" und der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?
Danke für Hinweise.
-
Kurze Verständnis Frage, ich parse auf der clever-tanken Seite einen Super Plus Wert z.B. Tanke
Mit dem RegEx
(?:4">)(\d+.\d.)bekomme ich auch über die regex101 Seite einen entsprechenden Match der auch wunderbar passt. Wenn ich mir nun den erzeugten Datenpunkt anschaue, finde ich dort nur den Wert ohne Punkt angezeigt:

Ansonsten steht die Regel auf Rolle "Wert" und der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?
Danke für Hinweise.
-
Genau das Komma suche ich in den Objekten :/
In den Parser Settings habe ich es entsprechend als Typ "Nummer mit Komma" deklariert... -
Genau das Komma suche ich in den Objekten :/
In den Parser Settings habe ich es entsprechend als Typ "Nummer mit Komma" deklariert... -
Kurze Verständnis Frage, ich parse auf der clever-tanken Seite einen Super Plus Wert z.B. Tanke
Mit dem RegEx
(?:4">)(\d+.\d.)bekomme ich auch über die regex101 Seite einen entsprechenden Match der auch wunderbar passt. Wenn ich mir nun den erzeugten Datenpunkt anschaue, finde ich dort nur den Wert ohne Punkt angezeigt:

Ansonsten steht die Regel auf Rolle "Wert" und der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?
Danke für Hinweise.
-
@hannoi sagte in Adapter - Parser (regEx):
finde ich dort nur den Wert ohne Punkt angezeigt:
-
Okay verstanden, dann ist das "Komma" nicht mit dem "Punkt" gleichzusetzen als Trennzeichen.
-
Hallo zusammen,
ich komme mit dem Parser nicht zurecht. Ich versuche von der Seite https://abfahrten.hvv.de/75870033-9dd4-41c0-81bb-903c93fdc819 Bus-Nummer, Richtung und Abfahrzeit auszulesen. Ich habe dunkle Views erstellt, da passt die weiße Farbe einfach nicht rein. Leider schaffe ich jedoch nicht, mit dem Parser etwas auszulesen. Kann mir dabei jemand helfen?
Danke schon vorab!
Die Alternative ist per Skript und JQuery eigentlich noch einfacher.
Die Seite ruft die Daten als JSON ab. Ich habe dir hier mal den cURL-Befehl kopiert, mit dem der Abruf auf einer Linux-Console direkt funktioniert. Über die Developer-Tools von chrome und Firefox kannst du dir das direkt anschauen.curl 'https://abfahrten.hvv.de/api/monitors/75870033-9dd4-41c0-81bb-903c93fdc819' -H 'Pragma: no-cache' -H 'DNT: 1' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36' -H 'Content-Type: application/vnd.api+json' -H 'Accept: application/json, text/plain, */*' -H 'Cache-Control: no-cache' -H 'Referer: https://abfahrten.hvv.de/75870033-9dd4-41c0-81bb-903c93fdc819' -H 'Cookie: BT_sdc=eyJldF9jb2lkIjoiTkEiLCJyZnIiOiJodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC8iLCJ0aW1lIjoxNTYwMjkxODIwNTY3LCJwaSI6MCwiZXVybCI6Imh0dHBzOi8vYWJmYWhydGVuLmh2di5kZS83NTg3MDAzMy05ZGQ0LTQxYzAtODFiYi05MDNjOTNmZGM4MTkiLCJyZXR1cm5pbmciOjAsImV0Y2NfY21wIjoiTkEiLCJzbXMiOm51bGwsIm5vV1MiOiJBdzNVS2IifQ%3D%3D; _et_coid=ff32f3a7e7a0381366c02efa37fc81ef' -H 'Connection: keep-alive' --compressedDarüber hinaus bieten die direkt auch eine API nach Antrag an: https://www.hvv.de/de/fahrplaene/abruf-fahrplaninfos/datenabruf
und über open-data scheint es auch was zu geben https://www.opendata-oepnv.de/pages/api
ein node-lib gibt es auch, aber nur mit den beantragten Zugangsdaten https://github.com/lionralfs/hvv
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
