NEWS
Adapter - Parser (regEx)
-
@Diginix
ich eigentlich auch.Nur für Einsteiger mit dem Parser-Adapter kann es einfacher sein, den RegEx zu kopieren und die num einzustellen
-
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
Die zahl beinhaltet ein komma.Versuch mal als typ "zahl mit komma"
-
Nummer mit Komma ist im Parser Adapter ausgewählt:
-
@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+)
-
Super, danke so klappts auch mit den Nachkommastellen !
Beste Grüße
-
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!
-
So wie es aussieht werden die Werte per Javascript in der Seite gesetzt. Ich weiß nicht ob der Parser das erst noch interpretiert oder ob der nur mit statischem html umgehen kann.
-
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.
-
@hannoi sagte in Adapter - Parser (regEx):
der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?
Wo ist das Komma?
-
Genau das Komma suche ich in den Objekten
In den Parser Settings habe ich es entsprechend als Typ "Nummer mit Komma" deklariert... -
@hannoi sagte in Adapter - Parser (regEx):
Genau das Komma suche ich in den Objekten
Aber du hast doch auch kein Komma im Match, oder?
-
Hier noch der Link mit dem Quellcode und dem Regex
-
@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.
-
@Homoran
Perfekt klappt! Dann war es mein Denkfehler!!! DANKE NOCH MAL -
@hannoi sagte in Adapter - Parser (regEx):
Okay verstanden, dann ist das "Komma" nicht mit dem "Punkt" gleichzusetzen als Trennzeichen.
So ist es.
Wenn das Regex ein Komma hat nimmt man Zahl mit KOMMA
-
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' --compressed
Darü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 -
Vielen Dank für die Arbeit! Ich schaue es mir mal an, momentan verstehe ich noch nichts davon. Ich freue mich schon über minimale Html und gute Excel-Kenntnise meinerseits