Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Parser-Ausdruck für Ebbe&Flut gesucht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Parser-Ausdruck für Ebbe&Flut gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • hg6806
      hg6806 Most Active last edited by

      Hallo zusammen,

      in folgender Seite möchte ich Ebbe und Flut Uhrzeiten auslesen:

      https://de.tideschart.com/Spain/Canary-Islands/Provincia-de-Las-Palmas/Playa-de-Costa-Calma/

      147691cc-c7a5-4b9b-b291-91a94c1062d1-image.png

      Was muss da in Parser rein?

      Hochwasser ist um[^x]+[^\d]+(\d+)
      

      ...wirft mir nur eine "2" als Wert zurück.

      Homoran OliverIO liv-in-sky 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @hg6806 last edited by Homoran

        @hg6806 ist das der Quelltext?
        Das ist doch wieder nur der HTML-Code der Seite.

        r ist u[^\d]+([\d\:]+)

        Num0 =Hochwasser
        Num1= Niedrigwasser

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

          @hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

          Hallo zusammen,

          in folgender Seite möchte ich Ebbe und Flut Uhrzeiten auslesen:

          https://de.tideschart.com/Spain/Canary-Islands/Provincia-de-Las-Palmas/Playa-de-Costa-Calma/

          147691cc-c7a5-4b9b-b291-91a94c1062d1-image.png

          Was muss da in Parser rein?

          Hochwasser ist um[^x]+[^\d]+(\d+)
          

          ...wirft mir nur eine "2" als Wert zurück.

          probier mal

          nächste Hochwasser ist um <br>(.*)<\/h3>(.<\/div>){4} <
          

          dein regex kann ich gar nicht nachvollziehen.
          Insbesondere das

          [^x]+

          Match a single character not present in the list below [^x]

          • matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
            x matches the character x

          und dann das selbe nochmal mit "keine Zahl"?

          Nachtrag:
          oder noch einfacher

          nächste Hochwasser ist um <br>([\d:]*)
          

          https://regex101.com/r/4LuPtw/1

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

            @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

            dann das selbe nochmal mit "keine Zahl"?

            dann passt es !

            @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

            dein regex kann ich gar nicht nachvollziehen.

            MeToo

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

              Sorry, habe was noch besseres entdeckt:

              2391a196-7fd2-4c34-8088-10a25a927a7b-image.png

              <th rowspan="2" id="day">Tag</th>
              <th colspan="4">Tidenkalender für Playa de Costa Calma</th>
              <th colspan="2" rowspan="2">
              <img src="/tideschart/assets/images/icons/weather-icons/svg/weather_sun_sunny_sunshine_warm.svg" alt="Sonnenaufgang und Sonnenuntergang" width="52" height="52">
              </th>
              </tr>
              <tr>
              <th>1. Flut</th>
              <th>2. Flut</th>
              <th>3. Flut</th>
              <th>4. Flut</th>
              </tr>
              </thead>
              <tbody>
              <tr>
              <td class="day">24 Di</td><td class="tide-u">03:22<div><i>&#x25B2;</i> 2.17 m</div></td><td class="tide-d">09:25<div><i>&#x25BC;</i> 0.49 m</div></td><td class="tide-u">15:36<div><i>&#x25B2;</i> 2.32 m</div></td><td class="tide-d">21:54<div><i>&#x25BC;</i> 0.45 m</div></td>
              <td class="sun"><i>&#x25B2;</i> 07:32</td>
              <td class="sun"><i>&#x25BC;</i> 20:26</td>
              </tr><tr>
              <td class="day">25 Mi</td><td class="tide-u">03:57<div><i>&#x25B2;</i> 2.14 m</div></td><td class="tide-d">10:01<div><i>&#x25BC;</i> 0.52 m</div></td><td class="tide-u">16:11<div><i>&#x25B2;</i> 2.26 m</div></td><td class="tide-d">22:28<div><i>&#x25BC;</i> 0.51 m</div></td>
              <td class="sun"><i>&#x25B2;</i> 07:32</td>
              <td class="sun"><i>&#x25BC;</i> 20:25</td>
              </tr><tr>
              <td class="day">26 Do</td><td class="tide-u">04:31<div><i>&#x25B2;</i> 2.09 m</div></td><td class="tide-d">10:35<div><i>&#x25BC;</i> 0.59 m</div></td><td class="tide-u">16:45<div><i>&#x25B2;</i> 2.17 m</div></td><td class="tide-d">23:01<div><i>&#x25BC;</i> 0.6 m</div></td>
              <td class="sun"><i>&#x25B2;</i> 07:33</td>
              <td class="sun"><i>&#x25BC;</i> 20:24</td>
              </tr><tr>
              <td class="day">27 Fr</td><td class="tide-u">05:05<div><i>&#x25B2;</i> 2.01 m</div></td><td class="tide-d">11:11<div><i>&#x25BC;</i> 0.67 m</div></td><td class="tide-u">17:21<div><i>&#x25B2;</i> 2.05 m</div></td><td class="tide-d">23:36<div><i>&#x25BC;</i> 0.71 m</div></td>
              <td class="sun"><i>&#x25B2;</i> 07:33</td>
              <td class="sun"><i>&#x25BC;</i> 20:23</td>
              </tr><tr>
              <td class="day">28 Sa</td><td class="tide-u">05:41<div><i>&#x25B2;</i> 1.92 m</div></td><td class="tide-d">11:49<div><i>&#x25BC;</i> 0.78 m</div></td><td class="tide-u">17:59<div><i>&#x25B2;</i> 1.92 m</div></td><td></td>
              <td class="sun"><i>&#x25B2;</i> 07:34</td>
              <td class="sun"><i>&#x25BC;</i> 20:22</td>
              </tr><tr>
              <td class="day">29 So</td><td class="tide-d">00:15<div><i>&#x25BC;</i> 0.82 m</div></td><td class="tide-u">06:23<div><i>&#x25B2;</i> 1.82 m</div></td><td class="tide-d">12:34<div><i>&#x25BC;</i> 0.88 m</div></td><td class="tide-u">18:45<div><i>&#x25B2;</i> 1.79 m</div></td>
              <td class="sun"><i>&#x25B2;</i> 07:34</td>
              <td class="sun"><i>&#x25BC;</i> 20:21</td>
              </tr><tr>
              <td class="day">30 Mo</td><td class="tide-d">01:02<div><i>&#x25BC;</i> 0.93 m</div></td><td class="tide-u">07:15<div><i>&#x25B2;</i> 1.74 m</div></td><td class="tide-d">13:34<div><i>&#x25BC;</i> 0.97 m</div></td><td class="tide-u">19:49<div><i>&#x25B2;</i> 1.68 m</div></td>
              <td class="sun"><i>&#x25B2;</i> 07:35</td>
              <td class="sun"><i>&#x25BC;</i> 20:20</td>
              </tr> </tbody>
              </table>
              </div>
              

              Wie bekomme ich hier die Werte raus?

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

                @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                oder noch einfacher

                das ist gut - oder passend zu "meinem" RegEx: r ist um ([\d:]*)
                für Hoch (0) und Niedrigwasser (1)

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

                  @hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                  Sorry, habe was noch besseres entdeckt:

                  2391a196-7fd2-4c34-8088-10a25a927a7b-image.png

                  <th rowspan="2" id="day">Tag</th>
                  <th colspan="4">Tidenkalender für Playa de Costa Calma</th>
                  <th colspan="2" rowspan="2">
                  <img src="/tideschart/assets/images/icons/weather-icons/svg/weather_sun_sunny_sunshine_warm.svg" alt="Sonnenaufgang und Sonnenuntergang" width="52" height="52">
                  </th>
                  </tr>
                  <tr>
                  <th>1. Flut</th>
                  <th>2. Flut</th>
                  <th>3. Flut</th>
                  <th>4. Flut</th>
                  </tr>
                  </thead>
                  <tbody>
                  <tr>
                  <td class="day">24 Di</td><td class="tide-u">03:22<div><i>&#x25B2;</i> 2.17 m</div></td><td class="tide-d">09:25<div><i>&#x25BC;</i> 0.49 m</div></td><td class="tide-u">15:36<div><i>&#x25B2;</i> 2.32 m</div></td><td class="tide-d">21:54<div><i>&#x25BC;</i> 0.45 m</div></td>
                  <td class="sun"><i>&#x25B2;</i> 07:32</td>
                  <td class="sun"><i>&#x25BC;</i> 20:26</td>
                  </tr><tr>
                  <td class="day">25 Mi</td><td class="tide-u">03:57<div><i>&#x25B2;</i> 2.14 m</div></td><td class="tide-d">10:01<div><i>&#x25BC;</i> 0.52 m</div></td><td class="tide-u">16:11<div><i>&#x25B2;</i> 2.26 m</div></td><td class="tide-d">22:28<div><i>&#x25BC;</i> 0.51 m</div></td>
                  <td class="sun"><i>&#x25B2;</i> 07:32</td>
                  <td class="sun"><i>&#x25BC;</i> 20:25</td>
                  </tr><tr>
                  <td class="day">26 Do</td><td class="tide-u">04:31<div><i>&#x25B2;</i> 2.09 m</div></td><td class="tide-d">10:35<div><i>&#x25BC;</i> 0.59 m</div></td><td class="tide-u">16:45<div><i>&#x25B2;</i> 2.17 m</div></td><td class="tide-d">23:01<div><i>&#x25BC;</i> 0.6 m</div></td>
                  <td class="sun"><i>&#x25B2;</i> 07:33</td>
                  <td class="sun"><i>&#x25BC;</i> 20:24</td>
                  </tr><tr>
                  <td class="day">27 Fr</td><td class="tide-u">05:05<div><i>&#x25B2;</i> 2.01 m</div></td><td class="tide-d">11:11<div><i>&#x25BC;</i> 0.67 m</div></td><td class="tide-u">17:21<div><i>&#x25B2;</i> 2.05 m</div></td><td class="tide-d">23:36<div><i>&#x25BC;</i> 0.71 m</div></td>
                  <td class="sun"><i>&#x25B2;</i> 07:33</td>
                  <td class="sun"><i>&#x25BC;</i> 20:23</td>
                  </tr><tr>
                  <td class="day">28 Sa</td><td class="tide-u">05:41<div><i>&#x25B2;</i> 1.92 m</div></td><td class="tide-d">11:49<div><i>&#x25BC;</i> 0.78 m</div></td><td class="tide-u">17:59<div><i>&#x25B2;</i> 1.92 m</div></td><td></td>
                  <td class="sun"><i>&#x25B2;</i> 07:34</td>
                  <td class="sun"><i>&#x25BC;</i> 20:22</td>
                  </tr><tr>
                  <td class="day">29 So</td><td class="tide-d">00:15<div><i>&#x25BC;</i> 0.82 m</div></td><td class="tide-u">06:23<div><i>&#x25B2;</i> 1.82 m</div></td><td class="tide-d">12:34<div><i>&#x25BC;</i> 0.88 m</div></td><td class="tide-u">18:45<div><i>&#x25B2;</i> 1.79 m</div></td>
                  <td class="sun"><i>&#x25B2;</i> 07:34</td>
                  <td class="sun"><i>&#x25BC;</i> 20:21</td>
                  </tr><tr>
                  <td class="day">30 Mo</td><td class="tide-d">01:02<div><i>&#x25BC;</i> 0.93 m</div></td><td class="tide-u">07:15<div><i>&#x25B2;</i> 1.74 m</div></td><td class="tide-d">13:34<div><i>&#x25BC;</i> 0.97 m</div></td><td class="tide-u">19:49<div><i>&#x25B2;</i> 1.68 m</div></td>
                  <td class="sun"><i>&#x25B2;</i> 07:35</td>
                  <td class="sun"><i>&#x25BC;</i> 20:20</td>
                  </tr> </tbody>
                  </table>
                  </div>
                  

                  Wie bekomme ich hier die Werte raus?

                  bitte exakt definieren was du haben möchtest.
                  ein parser ausdruck kann genau einen wert zurückgeben.

                  hg6806 Homoran 2 Replies Last reply Reply Quote 0
                  • hg6806
                    hg6806 Most Active @OliverIO last edited by

                    @oliverio
                    Alle! 😁
                    Ich denke wenn ich den 1. Wert bekomme kann ich daraus die anderen herausfinden.

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

                      @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                      ein parser ausdruck kann genau einen wert zurückgeben.

                      oder er nimmt (\d\d\:\d\d) dann bekommt er alle Zeiten 😂
                      Muss nur noch die richtieg NUM wählen

                      wobei Tage mit nur 3 Tiden die NUMs durcheinanderwirbeln

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

                        @hg6806

                        Tag
                        Im Num-Feld für jede Zeile eins erhöhen, start mit 0

                        <td class="day">([\d\s\w]*)<\/td>
                        

                        Flut up
                        Im Num-Feld für jede Zeile jeweils um 2 erhöhen
                        Erste Zeile erstes Up =0, Erste Zeile zweites Up = 1
                        Zweite Zeile erstes Up =2, Zweite Zeile zweites Up = 2

                        <td class="tide-u">([\d:]*)
                        

                        Flut down
                        Num Feld analog zu up

                        <td class="tide-d">([\d:]*)
                        
                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @OliverIO last edited by

                          @oliverio und wie willst du dann diese Uhrzeiten bestimmten Tagen zuordnen.
                          Am Samstag gibt es nur 3 Tiden

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

                            @homoran
                            Ich würde das auch eher mit javascript und cheerio machen.
                            da kann man im jquery syntax die dom analysieren und schön die zeilen und spalten extrahieren.

                            hab keine tiefenanalyse gemacht, ob das mit regex tatsächlich funktioniert.
                            nur mal den ansatz, wie man es mit regex machen kann.
                            logik versteht regex und der parser adapter halt nicht

                            Homoran liv-in-sky 2 Replies Last reply Reply Quote 0
                            • hg6806
                              hg6806 Most Active @Homoran last edited by

                              @homoran
                              Ich würde jetzt sagen dass es leer bleibt wie auch in der Tabelle.

                              Ich denke das bekomme ich so hin und probiere es später aus.

                              Tausend Dank!!!

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

                                @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                ch würde das auch eher mit javascript und cheerio machen.

                                ich auch zumal die Tage ja in der Tabelle wandern.

                                @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                nur mal den ansatz, wie man es mit regex machen kann.

                                ja aber nur "statisch einmalig".

                                @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                hab keine tiefenanalyse gemacht,

                                ich kann mir nur vorstellen dass der nächste Wunsch sein wird, das ganze in heute, morgen, übermorgen... aufzuteilen, und das geht dann IMHO nicht mehr mit dem parser für jeden Tag der Zukunft

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

                                  @hg6806 sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                  Ich würde jetzt sagen dass es leer bleibt

                                  eben nicht

                                  1 Reply Last reply Reply Quote 0
                                  • BBTown
                                    BBTown @hg6806 last edited by BBTown

                                    @hg6806 warum nimmst Du nicht die erste Seite und versuchst es damit:

                                    (?<=nächste Hochwasser ist um <br>)(\d\d[:]\d\d)
                                    
                                    OliverIO 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @BBTown last edited by

                                      @bbtown sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                      @hg6806 warum nimmst Du nicht die erste Seite und versuchst es damit:

                                      (?<=nächste Hochwasser ist um <br>)(\d\d[:]\d\d)
                                      

                                      die lösung gibts schon. er wollte dann mehr

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

                                        @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                        die lösung gibts schon. er wollte dann mehr

                                        so sind sie alle 😉

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

                                          @bbtown sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                          @oliverio sagte in Parser-Ausdruck für Ebbe&Flut gesucht:

                                          die lösung gibts schon. er wollte dann mehr

                                          so sind sie alle 😉

                                          um es mit Konstantin Wecker zu sagen: "genug ist nie genug!"

                                          BBTown hg6806 2 Replies Last reply Reply Quote 0
                                          • BBTown
                                            BBTown @Homoran last edited by

                                            @homoran oder "haben ist besser als brauchen" (na gut, das sage ich meist beim Einkaufen 😎 )

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            65
                                            2410
                                            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