Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Parser Aapter

    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 Aapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @Mr. Sun last edited by Homoran

      @mr-sun sagte in Parser Aapter:

      was bedeutet ([-\d.]+)

      Eine Gruppe () bestehend aus [] mehreren + : -, . oder Ziffern (digits).

      M 1 Reply Last reply Reply Quote 0
      • M
        Mr. Sun @Homoran last edited by

        @homoran
        hast du eine Quelle, wo ist sowas nachlesen kann ?
        Bzw. was muss suchen ?

        liv-in-sky 2 Replies Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Mr. Sun last edited by

          @mr-sun

          das nennt sich regex

          es gibt viel dazu im netz

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Mr. Sun last edited by

            @mr-sun das ist die übungsseite - https://regex101.com/

            bei youtube gibt es sicher auch was

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

              Hallo,

              ich bin auch völlig neu bei dem Thema parser: Habe den Adapter im iobroker installiert aber leider versteh ich trotz aller hilfen im Netz nicht was ich bei RegEx eintragen muss. Würde gerne mit Hilfe von RegEx mir den Wert hinter 17:00 ausgeben lassen. Das Ergebnis bräuchte ich vom Typ Zahl.

              https://api.forecast.solar/estimate/watthours/48.288295/11.043492/36/-25/11,5

              Der Quellcode sieht wie folgt aus.

               <h2>Result</h2><table class="level-0"><tbody><tr><td class="key">2022-03-10 06:32:00</td><td class="value">0</td></tr><tr><td class="key">2022-03-10 06:46:00</td><td class="value">153</td></tr><tr><td class="key">2022-03-10 07:00:00</td><td class="value">919</td></tr><tr><td class="key">2022-03-10 08:00:00</td><td class="value">7363</td></tr><tr><td class="key">2022-03-10 09:00:00</td><td class="value">16218</td></tr><tr><td class="key">2022-03-10 10:00:00</td><td class="value">26070</td></tr><tr><td class="key">2022-03-10 11:00:00</td><td class="value">36358</td></tr><tr><td class="key">2022-03-10 12:00:00</td><td class="value">46200</td></tr><tr><td class="key">2022-03-10 13:00:00</td><td class="value">54378</td></tr><tr><td class="key">2022-03-10 14:00:00</td><td class="value">60742</td></tr><tr><td class="key">2022-03-10 15:00:00</td><td class="value">64838</td></tr><tr><td class="key">2022-03-10 16:00:00</td><td class="value">66617</td></tr><tr><td class="key">2022-03-10 17:00:00</td><td class="value">67139</td></tr><tr><td class="key">2022-03-10 18:00:00</td><td class="value">67208</td></tr><tr><td class="key">2022-03-10 18:10:00</td><td class="value">67210</td></tr><tr><td class="key">2022-03-10 18:19:00</td><td class="value">67210</td></tr><tr><td class="key">2022-03-11 06:30:00</td><td class="value">0</td></tr><tr><td class="key">2022-03-11 06:45:00</td><td class="value">153</td></tr><tr><td class="key">2022-03-11 07:00:00</td><td class="value">909</td></tr><tr><td class="key">2022-03-11 08:00:00</td><td class="value">6437</td></tr><tr><td class="key">2022-03-11 09:00:00</td><td class="value">13558</td></tr><tr><td class="key">2022-03-11 10:00:00</td><td class="value">21620</td></tr><tr><td class="key">2022-03-11 11:00:00</td><td class="value">30210</td></tr><tr><td class="key">2022-03-11 12:00:00</td><td class="value">38614</td></tr><tr><td class="key">2022-03-11 13:00:00</td><td class="value">46008</td></tr><tr><td class="key">2022-03-11 14:00:00</td><td class="value">51793</td></tr><tr><td class="key">2022-03-11 15:00:00</td><td class="value">55556</td></tr><tr><td class="key">2022-03-11 16:00:00</td><td class="value">57312</td></tr><tr><td class="key">2022-03-11 17:00:00</td><td class="value">57870</td></tr><tr><td class="key">2022-03-11 18:00:00</td><td class="value">57940</td></tr><tr><td class="key">2022-03-11 18:11:00</td><td class="value">57942</td></tr><tr><td class="key">2022-03-11 18:21:00</td><td class="value">57942</td></tr></tbody></table></body>
              
              

              Kann mir jemand hierbei helfen?

              Vielen Dank schon mal im voraus

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

                @haihappen85 sagte in Parser Aapter:

                Der Quellcode sieht wie folgt aus.

                ist das der echte vollständige Quellcode und nicht die aufgearbeitete HTML-Seite?

                @haihappen85 sagte in Parser Aapter:

                Würde gerne mit Hilfe von RegEx mir den Wert hinter 17:00 ausgeben lassen.

                da ist 2x 17:00:00 im Text.
                Welchen Wert brauchst du

                ist 17:00:00 statisch oder steht da immer was anderes?

                @haihappen85 sagte in Parser Aapter:

                Kann mir jemand hierbei helfen?

                was hast du denn schon versucht?

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

                  also der Text wird mir schon im Parser angezeigt. Aber das ist ja auch nicht so schwer 🙂

                  Nein das ist nicht der vollständige Code. Sondern der Teil der unter body steht.

                  Versucht hab ich schon vieles was ich im Netz so gelesen hab. Aber nix davon hat funktioinert weil ich von programmieren leider nicht so viel verstehe. Ich brauch beide werte. Aber über Number kann ich ja dann zählen welchen ich brauche oder?

                  17:00:00 ist statisch. Eigentlich sollte das immer an der selben Stelle stehen

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

                    @haihappen85 sagte in Parser Aapter:

                    Nein das ist nicht der vollständige Code. Sondern der Teil der unter body steht.

                    das nutzt nichts, da im restlichen Teil ja noch weitere Treffer auf den RegEx sein könnten

                    @haihappen85 sagte in Parser Aapter:

                    17:00:00 ist statisch.

                    wie gesagt gibt es davon 2. Einen heute, einen Morgen

                    Hab mal den Heute genommen:
                    17:00[^e]+e">(\d+)

                    aber bitte den gesamten Quelltext posten

                    @haihappen85 sagte in Parser Aapter:

                    Aber nix davon hat funktioinert weil ich von programmieren leider nicht so viel verstehe

                    Um dir helfen zu können RegExe zu verstehen, wäre es schon interessant zu wissen was du verstanden hast oder was nicht/falsch

                    @haihappen85 sagte in Parser Aapter:

                    Aber über Number kann ich ja dann zählen welchen ich brauche oder?

                    korrekt

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

                      @homoran

                      mir reicht erstmal der erste.

                      <html>
                      
                      <head>
                          <title>Forecast.Solar - API</title>
                          <meta charset="utf-8" />
                          <link rel="icon" href="//forecast.solar/favicon.ico" type="image/x-icon">
                          <link rel="shortcut icon" href="//forecast.solar/favicon.ico" type="image/x-icon">
                          <link rel="stylesheet" type="text/css" media="screen" href="//forecast.solar/css/normalize.min.css">
                          <link rel="stylesheet" type="text/css" media="screen" href="//forecast.solar/css/api.css">
                      </head>
                      
                      <body>
                          <h2>Result</h2><table class="level-0"><tbody><tr><td class="key">2022-03-10 06:32:00</td><td class="value">0</td></tr><tr><td class="key">2022-03-10 06:46:00</td><td class="value">153</td></tr><tr><td class="key">2022-03-10 07:00:00</td><td class="value">919</td></tr><tr><td class="key">2022-03-10 08:00:00</td><td class="value">7363</td></tr><tr><td class="key">2022-03-10 09:00:00</td><td class="value">16218</td></tr><tr><td class="key">2022-03-10 10:00:00</td><td class="value">26070</td></tr><tr><td class="key">2022-03-10 11:00:00</td><td class="value">36358</td></tr><tr><td class="key">2022-03-10 12:00:00</td><td class="value">46200</td></tr><tr><td class="key">2022-03-10 13:00:00</td><td class="value">54378</td></tr><tr><td class="key">2022-03-10 14:00:00</td><td class="value">60742</td></tr><tr><td class="key">2022-03-10 15:00:00</td><td class="value">64838</td></tr><tr><td class="key">2022-03-10 16:00:00</td><td class="value">66617</td></tr><tr><td class="key">2022-03-10 17:00:00</td><td class="value">67139</td></tr><tr><td class="key">2022-03-10 18:00:00</td><td class="value">67208</td></tr><tr><td class="key">2022-03-10 18:10:00</td><td class="value">67210</td></tr><tr><td class="key">2022-03-10 18:19:00</td><td class="value">67210</td></tr><tr><td class="key">2022-03-11 06:30:00</td><td class="value">0</td></tr><tr><td class="key">2022-03-11 06:45:00</td><td class="value">153</td></tr><tr><td class="key">2022-03-11 07:00:00</td><td class="value">909</td></tr><tr><td class="key">2022-03-11 08:00:00</td><td class="value">6437</td></tr><tr><td class="key">2022-03-11 09:00:00</td><td class="value">13558</td></tr><tr><td class="key">2022-03-11 10:00:00</td><td class="value">21620</td></tr><tr><td class="key">2022-03-11 11:00:00</td><td class="value">30210</td></tr><tr><td class="key">2022-03-11 12:00:00</td><td class="value">38614</td></tr><tr><td class="key">2022-03-11 13:00:00</td><td class="value">46008</td></tr><tr><td class="key">2022-03-11 14:00:00</td><td class="value">51793</td></tr><tr><td class="key">2022-03-11 15:00:00</td><td class="value">55556</td></tr><tr><td class="key">2022-03-11 16:00:00</td><td class="value">57312</td></tr><tr><td class="key">2022-03-11 17:00:00</td><td class="value">57870</td></tr><tr><td class="key">2022-03-11 18:00:00</td><td class="value">57940</td></tr><tr><td class="key">2022-03-11 18:11:00</td><td class="value">57942</td></tr><tr><td class="key">2022-03-11 18:21:00</td><td class="value">57942</td></tr></tbody></table></body>
                      
                      </html>
                      
                      
                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @haihappen85 last edited by

                        @haihappen85

                        OK - auch damit bleibt es bei dem RegEx

                        Jetzt muss ich nur noch wissen was du versucht hattest, damit ich es dir erklären kann

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

                          @homoran said in Parser Aapter:

                          17:00[^e]+e">(\d+)

                          https://www.machs-smart.de/daten-aus-webseiten-extrahieren-mit-parser-und-regex/

                          hab versucht was hier erklärt wird umzusetzen. Wie gesagt hab keine Ahnung vom programmieren

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

                            @haihappen85 sagte in Parser Aapter:

                            hab versucht was hier erklärt wird umzusetzen

                            das glaube ich. Aber was ist dabei herausgekommen.
                            Wie soll ich deinen Denkfehler (hat nix mit eigentlichem Programmieren zu tun!) erkennen und "heilen" wenn ich nicht weiß wie du gedacht hattest?

                            H 2 Replies Last reply Reply Quote 0
                            • H
                              haihappen85 @Homoran last edited by haihappen85

                              @homoran
                              das Ergebnis bei dem Regex ist hier aktuell "false"

                              Welchen Typ muss ich verwenden? Json? ich bräuchte es als Zahl

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

                                @haihappen85 sagte in Parser Aapter:

                                Welchen Typ muss ich verwenden? Json? ich bräuchte es als Zahl

                                und warum dann JSON?

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

                                  @homoran
                                  17:00[^e]+e">(\d+)
                                  du suchst hier nach der Zahl 17:00. DAs hatte ich auch getestet. Aber wie er mir dann die Zahl danach raus gibt war mir nicht klar und da hat mir auch die seite nicht weiter geholfen.

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

                                    @haihappen85 sagte in Parser Aapter:

                                    Aber wie er mir dann die Zahl danach raus gibt war mir nicht klar

                                    die Zahl ist \d+ +=mehrere \d= Digits und weil das dein Ergebnis sein soll muss das in eine Gruppe=runde Klammern ().

                                    Dann musst du dir noch einen Weg suchen um von 17:00 zu der Zahl zu kommen.
                                    Die Langversion wäre 17:00:00<\/td><td class="value">(\d+) der Backslash vor dem / muss dahin, damit dieses als Zeichen und nicht als Befehl erkannt wird

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

                                      @homoran
                                      weil ich alles andere durch probiert habe und das Ergebnis immer "false" ist 🙂

                                      boolean gibt mir ja wahr oder falsch zurück
                                      number hätte ich als zahl erwartet
                                      String ein Text
                                      json kenn ich nicht.

                                      993c4cb3-6a63-44f5-a149-ff4f6ac3a0af-grafik.png

                                      Hab die Rolle auf Wert gestellt und den Typ auf Number(.)

                                      in den Objekten wird mir aber "false" angezeigt.
                                      0ff0882e-b65e-4e31-b3bb-27d629a82ffb-grafik.png

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

                                        @haihappen85 sagte in Parser Aapter:

                                        number hätte ich als zahl erwartet

                                        genau -wo ist das Problem?

                                        @haihappen85 sagte in Parser Aapter:

                                        in den Objekten wird mir aber "false" angezeigt.

                                        und was steht im Editorfenster unter dem Quelltext?

                                        nach Ändern des Typs kommt es manchmal zu Fehlern.
                                        Dann die Regel bitte nochmal komplett löschen und neu anlegen

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

                                          @homoran
                                          MOD-EDIT: private Daten entfernt!

                                          das er mir hier schon gar kein Ergebnis anzeigt.
                                          somit steht dann unter Objekten "false"

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

                                            @haihappen85 sagte in Parser Aapter:

                                            das er mir hier schon gar kein Ergebnis anzeigt.

                                            was steht denn da im Quelltext?
                                            das ist doch nicht, was du mir geschickt hattest

                                            das war dann wohl doch

                                            @homoran sagte in Parser Aapter:

                                            ist das der echte vollständige Quellcode und nicht die aufgearbeitete HTML-Seite?

                                            Schicke mir mal was in dem Fenster steht 😡

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            605
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            38
                                            1624
                                            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