Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Adapter - Parser (regEx)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter - Parser (regEx)

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      PatrickFro last edited by

      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!

      OliverIO 1 Reply Last reply Reply Quote 0
      • Diginix
        Diginix last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • P
          PatrickFro last edited by

          Schade... Gibt es denn eine andere Möglichkeit die Daten auszulesen? Oder zumindest die Farben der eingebundenen Webseite zu invertieren?

          1 Reply Last reply Reply Quote 0
          • H
            hannoi last edited by

            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:
            Bildschirmfoto 2019-06-12 um 11.36.49.png

            Ansonsten steht die Regel auf Rolle "Wert" und der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?

            Danke für Hinweise.

            Homoran 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @hannoi last edited by

              @hannoi sagte in Adapter - Parser (regEx):

              der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?

              Wo ist das Komma?

              1 Reply Last reply Reply Quote 0
              • H
                hannoi last edited by

                Genau das Komma suche ich in den Objekten 😕
                In den Parser Settings habe ich es entsprechend als Typ "Nummer mit Komma" deklariert...

                Homoran H 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @hannoi last edited by

                  @hannoi sagte in Adapter - Parser (regEx):

                  Genau das Komma suche ich in den Objekten

                  Aber du hast doch auch kein Komma im Match, oder?

                  1 Reply Last reply Reply Quote 0
                  • H
                    hannoi @hannoi last edited by

                    Hier noch der Link mit dem Quellcode und dem Regex

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @hannoi last edited by

                      @hannoi sagte in Adapter - Parser (regEx):

                      finde ich dort nur den Wert ohne Punkt angezeigt:

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        hannoi last edited by

                        Okay verstanden, dann ist das "Komma" nicht mit dem "Punkt" gleichzusetzen als Trennzeichen.

                        Homoran 1 Reply Last reply Reply Quote 0
                        • H
                          hannoi @Homoran last edited by

                          @Homoran
                          Perfekt klappt! Dann war es mein Denkfehler!!! DANKE NOCH MAL 🙂

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @hannoi last edited by

                            @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

                            1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @PatrickFro last edited by OliverIO

                              @PatrickFro

                              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

                              1 Reply Last reply Reply Quote 0
                              • P
                                PatrickFro last edited by

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

                                1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO last edited by

                                  hm, dann wird es eine kleine Herausforderung. Du brauchst noch Javascript Kenntnisse

                                  1 Reply Last reply Reply Quote 0
                                  • padrino
                                    padrino Most Active last edited by

                                    Gibt es eine Möglichkeit auf Passwortgeschützte Seiten mit dem Parser zu kommen?
                                    Ich würde gerne Werte meiner easybox auslesen, aber die verlangt einen login (ohne user, nur password). 😞

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      radioman last edited by radioman

                                      Eine Verständnisfrage: wenn ich von einer Internetseite ca. 100 separate Datenpunkte mit 100 regEx Ausdrücken füllen möchte, wird diese Internetseite dann bei jedem regEx-Datenpunkt separat runtergeladen, oder wird die nur einmal runtergeladen und im Cache gehalten? Ich habe für alle RegEx-Datenpunkte das Poll-Intervall extra auf "default" gelassen, damit alle gleichzeitig ausgeführt werden.
                                      Wenn die Internetseite bei jedem einzelnen regEx-Datenpunkt nochmal runtergeladen wird, ist mir das zu viel Traffic (da ich die Werte minütlich aktualisieren möchte, wäre das schon spürbarer Internettraffic durch die ganzen Hintergrundbilder etc. auf der Internetseite und auch viele Schreiboperationen auf meiner SD-Karte).

                                      Oder (wie) kann man die Internetseite (z.B. mit dem Adapter) nur einmal komplett runterladen, und die RegEx dann auf diese "offline" Version bzw. diesen Datenpunkt loslassen?
                                      Falls das nicht elegant gehen sollte, eine zweite Frage: (wie) kann man das polling der RegEx-Regeln ausschließlich manuell initiieren? Also indem man z.B. einen Datenpunkt auf true setzt und dann nur solange dieser Datenpunkt true ist, jede Minute ein Mal gepollt wird.

                                      OnTop oder noch eine andere Variante: da es eigentlich nur 10 unterschiedliche RegEx Ausdrücke sind, die jeweils 10 Fundstellen auf der Seite haben, würde es schon sehr helfen, wenn ich wüsste, wie ich diese 10 Fundstellen pro RegEx-Ausdruck in einem ioBroker-Datenpunkt (mit Indizes?) ablegen und dann mit VIS darstellen (bzw. über JavaScript auslesen) könnte. Kann man so eventuell auch schon etwas Traffic einsparen?

                                      Danke!

                                      Diginix 1 Reply Last reply Reply Quote 0
                                      • Diginix
                                        Diginix @radioman last edited by

                                        @radioman
                                        Wenn bei allen Datenpunkten die gleiche URL hinterlegt ist, wird diese 1mal pro Interval abgerufen und dann laufen alle deine 100 regex darüber. Es wird nur der html Code abgerufen, keine Medien, Bilder usw., d. h. deine Bedenken bzgl Traffic sind unbegründet.

                                        1 Reply Last reply Reply Quote 1
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        385
                                        Online

                                        31.7k
                                        Users

                                        79.8k
                                        Topics

                                        1.3m
                                        Posts

                                        43
                                        268
                                        99678
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo