Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]Abfrage von Daten einer Webseite

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst]Abfrage von Daten einer Webseite

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

      Hallo,
      ich würde gerne von folgender Webseite Stadtklima aus der Tabelle einige Werte abfragen um sie im Vis darstellen zu können. Ist das möglich, und wenn ja wie.

      Von Java habe ich so gut wie keinen Plan.

      Grüssle
      Matze

      Segway 1 Reply Last reply Reply Quote 0
      • Segway
        Segway @Beliar_666 last edited by

        @Beliar_666 sagte in Abfrage von Daten einer Webseite:

        Stadtklima

        Ich hab das mit dem parser Adapter gemacht.
        Ist sehr kryptisch und wenn die Seite mal neu gemacht wird funktioniert es auch nicht mehr 😞 das ist der Nachteil

        Beliar_666 1 Reply Last reply Reply Quote 1
        • Beliar_666
          Beliar_666 @Segway last edited by

          @Segway sagte in Abfrage von Daten einer Webseite:

          @Beliar_666 sagte in Abfrage von Daten einer Webseite:

          Stadtklima

          Ich hab das mit dem parser Adapter gemacht.
          Ist sehr kryptisch und wenn die Seite mal neu gemacht wird funktioniert es auch nicht mehr 😞 das ist der Nachteil

          Das klingt schon interessant, und das die Stadt ihre Seitenstruktur so schnell ändert wage ich zu bezweifeln. Nur kapier ich leider den Parser adapter mal so gar nicht.

          es geht explizit um den Abschnitt der Tabelle auf der Seite:

              <div align='left'><left> 
          <table border='1' cellspacing='0' cellpadding='1' width='489'
          <tr> 
          <td colspan='2' align='left'><br><span class='articleHead'>Aktuelle Luftdaten</span></td> 
          </tr> 
          <div class='articleText'> 
          <td align='left'></td> 
          </tr> 
          <tr> 
          <div  id="articleText"> 
          <td align='left'>Stickstoffmonoxid (NO):</td> 
          <td align='right'>  0.0  (&micro;g/m&sup3;)</td> 
          </tr> 
          <tr> 
          <td align='left'>Stickstoffdioxid (NO2):</td> 
          <td align='right'>  0.4  (&micro;g/m&sup3;)</td> 
          </tr> 
          <tr> 
          <td align='left'>Ozon (O3):</td> 
          <td align='right'> 28.2  (&micro;g/m&sup3;)</td> 
          </tr> 
          <tr> 
          <td align='left'>Ozonpotential (O3 + NO2):</td> 
          <td align='right'> 28.6  (&micro;g/m&sup3;)</td> 
          </tr> 
          <tr> 
          <td align='left'>Feinstaub (PM10):</td> 
          <td align='right'> 12.6  (&micro;g/m&sup3;)</td> 
          </tr> 
          <tr> 
          <td align='left'>Feinstaub (PM2.5): (bisher ohne interaktiver Auswertung)</td> 
          <td align='right'>  9.8  (&micro;g/m&sup3;)</td> 
          </tr> 
          

          Also um die Messwerte dort.

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

            @Beliar_666
            bitte mal den ganzen Quelltext in Spoiler und Code-Tags

            Dann welche Infos du haben willst.

            Danach gehen wir da mal zusammen an.
            Das ist gar nicht so schwierig - das schaffst du danach alleine!

            Beliar_666 1 Reply Last reply Reply Quote 1
            • Segway
              Segway @Beliar_666 last edited by

              @Beliar_666

              Habe die Quelltextseite mal in regex101.com reingeschmissen.
              Also an die Lufttemperatur kommt man mit:

              Lufttemperatur\D+([\d.\s:]+)

              Musste mal in den parser eingeben ... mal sehen was da kommt. Ich mach das immer mit trial and error 🙂

              1 Reply Last reply Reply Quote 1
              • Beliar_666
                Beliar_666 @Homoran last edited by

                @Homoran sagte in Abfrage von Daten einer Webseite:

                @Beliar_666
                bitte mal den ganzen Quelltext in Spoiler und Code-Tags

                Dann welche Infos du haben willst.

                Danach gehen wir da mal zusammen an.
                Das ist gar nicht so schwierig - das schaffst du danach alleine!

                Da der Quelltext der Seite zu Lang ist, hier als angehängte Datei.

                Neues Textdokument.txt

                Und es geht um Stickstoffmonoxid, Stickstoffdioxid, Ozon (O3), Ozonpotential (O3 + NO2), Feinstaub (PM10), Feinstaub (PM2.5)

                Der Ansatz von Segway war schon gut, nur findet er bei Feinstaub mehrere Ergebnisse und da stehe ich vor dem Problem, wie ich zu den richtigen Daten komme.

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

                  @Beliar_666 sagte in Abfrage von Daten einer Webseite:

                  Da der Quelltext der Seite zu Lang ist, hier als angehängte Datei.

                  Ich hatte den Link übersehen, habe es schon gefunden - danke!

                  @Beliar_666 sagte in Abfrage von Daten einer Webseite:

                  Der Ansatz von Segway war schon gut

                  Ja das war er.

                  Also jetzt mal Step by Step - ich nehme an, du willst es lernen.

                  Den Quellcode bei regex101.com einkopieren, links auf Javascript stellen und dann erst einmal die "Gegend" suchen, von der du den Wert haben willst.
                  (bevor ich das mit den Feinstaubwerten wusste hatte ich folgenden RegEx für dich:

                  ht'>\s+(\d+.\d)\s
                  

                  der findet fast alles!

                  Um den richtige RegEx zu bekommen muss man oft spielen. Rechts oben steht warum der Regex zu welchem Ergebnis kommt.
                  Üblich sind normal geschriebene "Texte" oder Escapesequenzen, die mit einem Backslash beginnen.
                  Damit fängt man erst einmal an. (full match)

                  zum Schluss wird dann das gewünschte Ergebnis in runde Klammern gesetzt. (group)

                  @Beliar_666 sagte in Abfrage von Daten einer Webseite:

                  findet er ... mehrere Ergebnisse

                  und genau das ist das gute.

                  rechts stehen dann alle Fundstellen.
                  Du kannst im Parser Adapter mit "Num" die gewünschte Fundstelle aussuchen. (die erste ist 0!)

                  So kannst du alle Ergebnisse mit dem gleichen RegEx auslesen, nur indem du die Num anpasst.

                  Stickstoffmonoxid wäre dann num = 3
                  Stickstoffdioxid num = 4
                  Ozon (O3) num = 5
                  Ozonpotential (O3 + NO2) num = 6
                  Feinstaub (PM10) num = 7
                  und Feinstaub (PM2.5) num = 8

                  1 Reply Last reply Reply Quote 2
                  • Beliar_666
                    Beliar_666 last edited by

                    Vielen lieben Dank euch beiden! Es hat geklappt mit eurer Hilfe.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    623
                    Online

                    32.0k
                    Users

                    80.5k
                    Topics

                    1.3m
                    Posts

                    blockly javascript monitoring
                    3
                    8
                    566
                    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