Navigation

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

    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

    Parsen EUR/CHF

    This topic has been deleted. Only users with topic management privileges can see it.
    • UncleSam
      UncleSam Developer @andyf2000 last edited by

      @andyf2000 Weshalb nimmst du nicht einfach den Radar2 Adapter?

      https://github.com/frankjoke/ioBroker.radar2

      Der kann das schon.

      A 1 Reply Last reply Reply Quote 0
      • A
        andyf2000 @UncleSam last edited by

        @UncleSam
        Danke. Nicht schlecht was der Adapter alles kann.

        Aber mir scheint die Werte (Währung) werden nur einmal am Tag aktualisiert.
        Momentan zeigt er mir sogar nur den Kurs von gestern an.

        Andy

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

          @andyf2000 Was willst du denn?
          nur den "Faktor"?

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

            @Homoran die (momentan) 1,0800 CHF würde ich gerne auslesen.

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

              @andyf2000 sagte in Parsen EUR/CHF:

              @Homoran die (momentan) 1,0800 CHF würde ich gerne auslesen.

              ([\d,]+)<.+CHF

              ich hoffe das ist es, aber der wechselt so schnell

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

                @Homoran Danke für deine Hilfe - da steht jetzt aber konstant die "783"
                Es müsste aber ein Wert von ca. 1,0800 sein.

                UncleSam OliverIO Homoran 3 Replies Last reply Reply Quote 0
                • UncleSam
                  UncleSam Developer @andyf2000 last edited by

                  @andyf2000 Versuch es mit:
                  EURCHF"[^\/]+>([\d,]+)<.+CHF

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

                    @andyf2000
                    probier mal mit typ = number(,)

                    data-animation=".*".>(.*)<\/span><\/div>&nbsp;<span class="currency-iso">CHF
                    
                    1 Reply Last reply Reply Quote 0
                    • A
                      andyf2000 @UncleSam last edited by

                      @UncleSam said in Parsen EUR/CHF:

                      EURCHF"[^/]+>([\d,]+)<.+CHF

                      Damit klappt es! Super, Danke für die Hilfe.

                      LG Andy

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

                        @andyf2000 sagte in Parsen EUR/CHF:

                        Danke für deine Hilfe - da steht jetzt aber konstant die "783"
                        Es müsste aber ein Wert von ca. 1,0800 sein.

                        das kam bei mir auch raus 😞

                        @UncleSam sagte in Parsen EUR/CHF:

                        Versuch es mit:

                        Das geht auf die selbe Group.
                        Hast du eine Ahnung warum "mein" RegEx nicht klappt?

                        F UncleSam 2 Replies Last reply Reply Quote 0
                        • F
                          fastfoot @Homoran last edited by fastfoot

                          @Homoran sagte in Parsen EUR/CHF:

                          Hast du eine Ahnung warum "mein" RegEx nicht klappt?

                          nicht wirklich, die Werte wechseln sehr schnell, schaut man mit F12 in Chrome dann sieht man nur einen Wert

                          Hier mal eine Alternative zu RegEx, hier wird mittels cheerio das Dom durchsucht, ähnlich wie mit jQuery im Browser. Ich nutze das seit Neuestem ständig, evtl dann noch mit RegEx zusätzlich. Für mehr Infos googlen 🙂

                          /**
                           * Wechselkurse mit cheerio auslesen
                           */
                          
                          const axios = require('axios').default; // In der JS-Instanz unter Module eintragen
                          const cheerio = require('cheerio');     // In der JS-Instanz unter Module eintragen
                          
                          async function getData() {
                              const url = 'https://www.finanzen.at/devisen/euro-schweizer_franken-kurs';
                              let html = cheerio.load((await axios.get(url)).data);
                              let kurs = Number(html('span.push-data').first().text().replace(',','.'));
                              let currency = html('span.currency-iso').text();
                              return kurs.toFixed(4) + ' ' + currency;
                          }
                          
                          async function Kurs(){
                              log(await getData());
                          }
                          
                          Kurs();
                          
                          1 Reply Last reply Reply Quote 0
                          • UncleSam
                            UncleSam Developer @Homoran last edited by

                            @Homoran Du darfst nicht den aktuellen Baum anschauen sondern den Quellcode. Da dies eine dynamische Seite ist, muss man den ursprünglichen Quellcode nehmen (das ist ja auch, was der Parser sieht).

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

                              @UncleSam sagte in Parsen EUR/CHF:

                              Du darfst nicht den aktuellen Baum anschauen sondern den Quellcode

                              mache ich immer (rechte Maustaste auf der Website und Quellcode anzeigen)

                              @UncleSam sagte in Parsen EUR/CHF:

                              das ist ja auch, was der Parser sieht

                              Ist klar.
                              und damit funktioniert es bei regex101.com mit meinem und deinem RegEx
                              Dein RegEx konnte ich auch (fast) verifizieren, lediglich fand ich keinen / in dem Text vor dem Kurs, erst danach.

                              Aber ich wüsste gerne warum mein RegEx im Parser-Adapter nicht funktioniert.
                              Ich weiß, dass der Parser-Adapter beispielsweise keine Zeilenumbrüchen als RegEx akzeptiert. Das ist aber hier nicht das Problem

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

                                @Homoran sagte in Parsen EUR/CHF:

                                mache ich immer (rechte Maustaste auf der Website und Quellcode anzeigen)

                                zeigt das wirklich nur die daten an, die der browser vorm server abgerufen hat?
                                oder ist das schon das dynamische html, an dem javascript bereits rum gepfuschelt hat?

                                ich schau immer in den developer tools unter netzwerk, was der tatsächlich abgerufene content ist.

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

                                  @OliverIO sagte in Parsen EUR/CHF:

                                  oder ist das schon das dynamische html, an dem javascript bereits rum gepfuschelt hat?

                                  Nein, das ist der echte native Quelltext,, in dem manchmal die dynamisch generierten Werte gar nicht enthalten sind, sondern nur der "link" zur Datenbank

                                  1 Reply Last reply Reply Quote 0
                                  • UncleSam
                                    UncleSam Developer @Homoran last edited by

                                    @Homoran Wahrscheinlich war auf der Website noch irgendwo sonst ein "CHF" auf derselben Zeile wie ein Zahlenwert. Ich habe einfach noch ein "eindeutigeres" Merkmal davor gesetzt, damit es "eindeutiger" ist.

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

                                      @UncleSam sagte in Parsen EUR/CHF:

                                      @Homoran Wahrscheinlich war auf der Website noch irgendwo sonst ein "CHF" auf derselben Zeile wie ein Zahlenwert. Ich habe einfach noch ein "eindeutigeres" Merkmal davor gesetzt, damit es "eindeutiger" ist.

                                      Das ist möglich, aber auf regex101.com finden unsere beiden RegEx exakt den gleichen Match.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      898
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      javascript
                                      6
                                      19
                                      635
                                      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