Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Parser Adapter: Product:Price [SOLVED]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Parser Adapter: Product:Price [SOLVED]

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

      Hi zusammen,

      ich versuche einen Preis zu parsen, aber verzweifle langsam.
      In regex101 habe ich rumprobiert und komme mit "product:price" content="=?(\d{0,3},\d{2})" auf die 49,95. Auf der rechten Seite wird die Zahl in der Gruppe angegeben.
      Im Parser Adapter erhalte ich aber so kein Ergebnis. Wenn ich einfach nur "\d{0,3},\d{2}" klappt es, jedoch zeigt er mir so einfach nur die erste 3-stellige Zahl an, die gefunden wurde, wenn ich es richtig verstanden habe. Wie kann ich mir nur bestimmte Teile anzeigen lassen?
      https://regex101.com/r/zlsWEt/1

      <meta property="product:brand" content="Beltimore" />
      <meta property="product:price" content="49,95" />
      <meta property="product:product_link" content="https://www.b
      

      169c9e42-df3c-4d5c-842d-51967e17e244-image.png
      3940d127-6ace-4ec7-8d9a-a11a552184e2-image.png
      Vielen Dank 🙂

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

        @adsfa hab jetzt nicht deinen Wunsch verstanden 😞

        wäre es mit :price"[^"]+"([\d,]+) ok?

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

          @adsfa

          noch simpler bzw andere Alternative

          "product:price" content="(\d+,\d+)"
          

          das ?= bei deinem ersten Beispiel ist überflüssig, da nach den doppelten Anführungsstrichen direkt im Anschluss wahrscheinlich nie ein Gleichzeichen kommt.
          Auch deine multiplier-Angaben in den geschweiften Klammern kann man machen, gibt aber nur Beträge bis 999, zurück. bei 4 Stelligen Beträgen schon nicht mehr.
          Das + Zeichen sag mindestens 1 bis unlimited Zeichen

          manche Dinge funktionieren leider in regexc101 nicht 1:1 im Parser-Adapter,
          da dieser je Kriterien die Regex-Optionen setzt. Am besten (aber nicht immer) fährt man, in dem man in regex101 die optionen auf si setzt.

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

            @oliverio Vielen Dank für deine Hilfe 🙂
            "d+" statt der genauen Anzahl Zeichen ist eine tolle Idee!
            Leider klappt dein Vorschlag bei mir im Parser Adapter nicht, oder muss ich noch etwas ändern?
            6a6a8a10-faf9-4551-8724-a8a041b1df24-image.png

            @Homoran Dir auch vielen Dank.
            Ich würde gerne den Preis (product:price) im iobroker tracken, also die "49,95". Leider klappt der RegEx bei mir im Parser-Adapter nicht.
            76b4dd32-e104-43b5-b6cd-177ea55b1327-image.png

            OliverIO Homoran 2 Replies Last reply Reply Quote 0
            • OliverIO
              OliverIO @adsfa last edited by OliverIO

              @adsfa

              f8f413b4-b65e-46ba-9188-04229653ab7f-image.png

              play-button noch evtl drücken?

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

                @adsfa sagte in Parser Adapter: Product:Price:

                Leider klappt der RegEx bei mir im Parser-Adapter nicht.

                das verstehe ich nicht.

                poste mal bitte den Inhalt des Editorfensters in code-tags.
                ggf. bekommt der Parser eine andere (Sprach-) Version, als du im Browser.

                Oder es gibt möglicherweise ein Problem, wenn du nachträglich den Typ geändert hattest.
                Dann musst du die Regel löschen und neu anlegen.

                BTW: ich bekomme mit price":"([\d.]+) den Wert noch einmal an anderer Stelle, sogar direkt als Zahl mit Dezimalpunkt (number)
                Ich weiß allerdings nicht, ob der aktualisiert wird

                A 1 Reply Last reply Reply Quote 0
                • A
                  adsfa @Homoran last edited by

                  @homoran und @OliverIO
                  Vielen Dank euch beiden!

                  Ich habe die Regel neu hinzugefügt und da klappt es 🙂

                  Was ist die beste Möglichkeit, um an 49.95 zu kommen und nicht an 4995? Mit dem Faktor 0.01 funktioniert es, jedoch würde ich gerne wissen, ob man das besser machen kann.

                  Vielen Dank

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

                    @adsfa sagte in Parser Adapter: Product:Price:

                    Was ist die beste Möglichkeit, um an 49.95 zu kommen und nicht an 4995?

                    wo kommst du denn an 4995?
                    beide Regeln von mir liefern 49.95

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

                      @adsfa

                      indem du number , (komma)
                      und nicht numer . (punkt)
                      wählst

                      genau meinen screenshot studieren

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

                        @oliverio sagte in Parser Adapter: Product:Price:

                        @adsfa

                        indem du number , (komma)
                        und nicht numer . (punkt)
                        wählst

                        genau meinen screenshot studieren

                        Davon bin ich ja ausgegangen, weil er in seinem letzten Screenshot korrekterweise Nummer mit Kommaausgewählt hatte

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

                          @oliverio @Homoran
                          Danke! Das habe ich bei dem neu erstellten Eintrag ganz übersehen. Jetzt klappt es genau wie gewünscht 🙂

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          427
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          364
                          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