Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Parser: TV-Sender Fußball [Closed]

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Parser: TV-Sender Fußball [Closed]

Scheduled Pinned Locked Moved Skripten / Logik
25 Posts 4 Posters 2.3k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OliverIOO OliverIO

    @adsfa
    parseFloat ist eine Funktion die das Ergebnis zurück gibt, daher musst du es auch zuweisen

    preis = parseFloat(preis);
    
    A Offline
    A Offline
    adsfa
    wrote on last edited by
    #13

    @oliverio Super, vielen Dank!! :)

    1 Reply Last reply
    0
    • OliverIOO OliverIO

      @adsfa
      parseFloat ist eine Funktion die das Ergebnis zurück gibt, daher musst du es auch zuweisen

      preis = parseFloat(preis);
      
      A Offline
      A Offline
      adsfa
      wrote on last edited by adsfa
      #14

      @oliverio
      Ich hätte nochmal eine Frage zu einer anderen Webseite bei der ich es leider nicht hinbekomme den Preis zu erfragen. Wenn man die Seite öffnet erscheint der Preis erst nach 1 Sekunde, evtl. liegt es daran?
      Leider kommt ein leeres Ergebnis raus.

      Link: https://www.thenorthface.de/shop/de/tnf-de/carto-triclimate-jacke-fuer-damen-5iwj

      const cheerio = require('cheerio');
      const axios = require('axios');
      
      async function Scrape() {
          const response = await axios.get('https://www.thenorthface.de/shop/de/tnf-de/carto-triclimate-jacke-fuer-damen-5iwj');
          const $ = cheerio.load(response.data);
          let preis = $('#product-info > div.product-content-info-price.product-price.product-price-js > span.product-content-info-offer-price.offer-price.offer-price-js.product-price-amount-js').text();
      
          console.log(preis);
      }
      Scrape();
      

      Das ist der JS-Path und die Abänderung (ich lösche alles vor der Klammer und ändere die Anführungszeichen von " in '.

      document.querySelector("#product-info > div.product-content-info-price.product-price.product-price-js > span.product-content-info-offer-price.offer-price.offer-price-js.product-price-amount-js")
      '#product-info > div.product-content-info-price.product-price.product-price-js > span.product-content-info-offer-price.offer-price.offer-price-js.product-price-amount-js'
      
      OliverIOO 1 Reply Last reply
      0
      • A adsfa

        @oliverio
        Ich hätte nochmal eine Frage zu einer anderen Webseite bei der ich es leider nicht hinbekomme den Preis zu erfragen. Wenn man die Seite öffnet erscheint der Preis erst nach 1 Sekunde, evtl. liegt es daran?
        Leider kommt ein leeres Ergebnis raus.

        Link: https://www.thenorthface.de/shop/de/tnf-de/carto-triclimate-jacke-fuer-damen-5iwj

        const cheerio = require('cheerio');
        const axios = require('axios');
        
        async function Scrape() {
            const response = await axios.get('https://www.thenorthface.de/shop/de/tnf-de/carto-triclimate-jacke-fuer-damen-5iwj');
            const $ = cheerio.load(response.data);
            let preis = $('#product-info > div.product-content-info-price.product-price.product-price-js > span.product-content-info-offer-price.offer-price.offer-price-js.product-price-amount-js').text();
        
            console.log(preis);
        }
        Scrape();
        

        Das ist der JS-Path und die Abänderung (ich lösche alles vor der Klammer und ändere die Anführungszeichen von " in '.

        document.querySelector("#product-info > div.product-content-info-price.product-price.product-price-js > span.product-content-info-offer-price.offer-price.offer-price-js.product-price-amount-js")
        '#product-info > div.product-content-info-price.product-price.product-price-js > span.product-content-info-offer-price.offer-price.offer-price-js.product-price-amount-js'
        
        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        wrote on last edited by
        #15

        @adsfa
        sorry, hat ein wenig gedauert.

        dein skript hat deswegen kein ergebnis, weil der preis in der datei gar nicht enthalten ist, sondern nur ein platzhalter, der später dann durch javascript gefüllt wird.
        der wirkliche preis wird von der seite dynamisch abgerufen und ist in dieser datei enthalten

        https://www.thenorthface.de/webapp/wcs/stores/servlet/VFAjaxItemPricingView?requestype=ajax&storeId=7007&langId=-3&catalogId=13505&productId=1144743&requesttype=ajax

        da wird dann direkt ein json objekt zurückgegeben, das du direkt auswerten kanns.
        ob die abfrage allerdings noch zusätzlich gesichert ist, so das man das nicht strukturiert per skript abrufen kann, hab ich nicht ausprobiert

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        A 1 Reply Last reply
        1
        • OliverIOO OliverIO

          @adsfa
          sorry, hat ein wenig gedauert.

          dein skript hat deswegen kein ergebnis, weil der preis in der datei gar nicht enthalten ist, sondern nur ein platzhalter, der später dann durch javascript gefüllt wird.
          der wirkliche preis wird von der seite dynamisch abgerufen und ist in dieser datei enthalten

          https://www.thenorthface.de/webapp/wcs/stores/servlet/VFAjaxItemPricingView?requestype=ajax&storeId=7007&langId=-3&catalogId=13505&productId=1144743&requesttype=ajax

          da wird dann direkt ein json objekt zurückgegeben, das du direkt auswerten kanns.
          ob die abfrage allerdings noch zusätzlich gesichert ist, so das man das nicht strukturiert per skript abrufen kann, hab ich nicht ausprobiert

          A Offline
          A Offline
          adsfa
          wrote on last edited by
          #16

          @oliverio Vielen Dank! Danke das habe ich so ungefähr verstanden :).
          Wie hast du den Link gefunden?

          OliverIOO 1 Reply Last reply
          0
          • A adsfa

            @oliverio Vielen Dank! Danke das habe ich so ungefähr verstanden :).
            Wie hast du den Link gefunden?

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            wrote on last edited by
            #17

            @adsfa
            Mir den Developer Tools des browsers geschaut was die Seite da noch lädt.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            A 1 Reply Last reply
            1
            • OliverIOO OliverIO

              @adsfa
              Mir den Developer Tools des browsers geschaut was die Seite da noch lädt.

              A Offline
              A Offline
              adsfa
              wrote on last edited by
              #18

              @oliverio Vielen Dank! Ich hätte nochmal eine Frage, falls das ok ist.

              Wie kann ich auf ein Element klicken?
              Ich habe z.B. diese Adidas Seite und würde gerne auf die Schuhgröße klicken. Geht das?

              const cheerio = require('cheerio');
              const axios = require('axios');
              
              async function Scrape() {
                  const response = await axios.get('https://www.adidas.de/adilette-aqua-slides/F35550.html');
                  const $ = cheerio.load(response.data);
                  let preis  = $('#main-content > div.sidebar-wrapper___3uF26 > div.sidebar___29cCJ > div > div.product-price___2Mip5.gl-vspace > div.price___Z74_w.price___35NVI.gl-flex-col > div > div > div').text();
                  let lieferzeit = $('#main-content > div.sidebar-wrapper___3uF26 > div.sidebar___29cCJ > section > div.gl-callout.backorder-callout___Sa5vJ > div > h5').text();
              
                  console.log(preis);
                  console.log(lieferzeit );
              }
              Scrape();
              

              Vielen Dank :)

              OliverIOO 1 Reply Last reply
              0
              • A adsfa

                @oliverio Vielen Dank! Ich hätte nochmal eine Frage, falls das ok ist.

                Wie kann ich auf ein Element klicken?
                Ich habe z.B. diese Adidas Seite und würde gerne auf die Schuhgröße klicken. Geht das?

                const cheerio = require('cheerio');
                const axios = require('axios');
                
                async function Scrape() {
                    const response = await axios.get('https://www.adidas.de/adilette-aqua-slides/F35550.html');
                    const $ = cheerio.load(response.data);
                    let preis  = $('#main-content > div.sidebar-wrapper___3uF26 > div.sidebar___29cCJ > div > div.product-price___2Mip5.gl-vspace > div.price___Z74_w.price___35NVI.gl-flex-col > div > div > div').text();
                    let lieferzeit = $('#main-content > div.sidebar-wrapper___3uF26 > div.sidebar___29cCJ > section > div.gl-callout.backorder-callout___Sa5vJ > div > h5').text();
                
                    console.log(preis);
                    console.log(lieferzeit );
                }
                Scrape();
                

                Vielen Dank :)

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by OliverIO
                #19

                @adsfa
                theoretisch ja.
                allerdings wird beim klick auf die schuhgröße eine kauderwelsch adresse aufgerufen
                https://www.adidas.de/Gnb58ttYk1PE/cL/2Crmr3uBA4/ii1wmh7OOp/ITULbHd7Rgg/aUMoS/HsEYgsB

                in diesem kauderwelch sind sicherlich alle produktparameter hinein verschlüsselt.
                um diesen link zu ermitteln müsste man zunächst den code analysieren.
                Das ist ziemlich aufwändig.

                Andere Alternative wäre mit pupeteer die adresse aufzurufen und dann anweisungen zu geben ein bestimmtes element zu laden und aus der seite dann den text extrahieren.
                Auch das ist aufwändig, da im hintergrund ein kompletter browser geladen wird.

                im obigen beispiel werden ja nur die html-daten geladen und mittels einer jquery ähnlichen bibliothek ausgewertet. aber es wird kein browser ausgeführt.

                beide methoden funktionieren nur solange bis die seite in seiner struktur geändert wird, dann muss man das wieder neu aufbauen.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                A 1 Reply Last reply
                0
                • OliverIOO OliverIO

                  @adsfa
                  theoretisch ja.
                  allerdings wird beim klick auf die schuhgröße eine kauderwelsch adresse aufgerufen
                  https://www.adidas.de/Gnb58ttYk1PE/cL/2Crmr3uBA4/ii1wmh7OOp/ITULbHd7Rgg/aUMoS/HsEYgsB

                  in diesem kauderwelch sind sicherlich alle produktparameter hinein verschlüsselt.
                  um diesen link zu ermitteln müsste man zunächst den code analysieren.
                  Das ist ziemlich aufwändig.

                  Andere Alternative wäre mit pupeteer die adresse aufzurufen und dann anweisungen zu geben ein bestimmtes element zu laden und aus der seite dann den text extrahieren.
                  Auch das ist aufwändig, da im hintergrund ein kompletter browser geladen wird.

                  im obigen beispiel werden ja nur die html-daten geladen und mittels einer jquery ähnlichen bibliothek ausgewertet. aber es wird kein browser ausgeführt.

                  beide methoden funktionieren nur solange bis die seite in seiner struktur geändert wird, dann muss man das wieder neu aufbauen.

                  A Offline
                  A Offline
                  adsfa
                  wrote on last edited by
                  #20

                  @oliverio Vielen Dank für die ausführliche Beschreibung.
                  Dann schaue ich mir Pupeteer mal genauer an und Selenium über Python steht auch auf meiner Liste.

                  OliverIOO 1 Reply Last reply
                  0
                  • A adsfa

                    @oliverio Vielen Dank für die ausführliche Beschreibung.
                    Dann schaue ich mir Pupeteer mal genauer an und Selenium über Python steht auch auf meiner Liste.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    wrote on last edited by
                    #21

                    @adsfa
                    pupeteer ist direkt für nodejs und macht mehr oder weniger genau das selbe wie selenium.
                    es sind aber beide keine easy benutzerprogramme sondern erfordern jeweils programmier skills, sonst kannst damit nicht wirklich was anfangen

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    D 1 Reply Last reply
                    0
                    • OliverIOO OliverIO

                      @adsfa
                      pupeteer ist direkt für nodejs und macht mehr oder weniger genau das selbe wie selenium.
                      es sind aber beide keine easy benutzerprogramme sondern erfordern jeweils programmier skills, sonst kannst damit nicht wirklich was anfangen

                      D Offline
                      D Offline
                      Digi-Bit
                      wrote on last edited by
                      #22

                      Hallo,

                      Ist schon etwas älter das Thema aber ich habe das JS ja von hier und vielleicht ist dies dann so einfacher.

                      const cheerio = require('cheerio');
                      const axios = require('axios');
                      const dp = "0_userdata.0.test1";
                       
                      async function getFussball() {
                          const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                          const $ = cheerio.load(response.data);
                          let datum = $('#utcRelativeContent > table:nth-child(1) > tbody > tr.cabeceraTabla > td').text();
                          let uhr = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.hora').text();
                          let lokal = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.local > span').text();
                          let visitor = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.visitante > span').text();
                          let tv = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                          setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                          console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                      }
                      getFussball();
                       
                      
                      

                      dies funktionier leider nicht mehr :anguished:

                      bei den oberen beiden Zeilen ist jetzt auch eine rote "welle" drunter also denke ich das es damit irgend wie zusammen hängt
                      Bild_2024-02-15_174355633.png

                      im Adapter ist auch noch alles eingetragen

                      Bild_2024-02-15_174554863.png

                      Ich habe auch schon ein altes Backup installiert aber aber auch da geht es nicht :(

                      Kann mir da jemand weiter helfen den ich fand es recht nützlich nicht immer suchen zu müssen auf welchem Portal man sich das Fussball spiel anschauen kann !

                      mfg

                      Digi-Bit

                      Router: Ubiquiti UniFi Dream Machine Pro|Iobroker I.NUCi5/Debian, 6 x Switche, 3 x APs, 3 x Cam, 2 x Nas(Qnap 4 & 8 Bay's)
                      7 x Echos, 76 x Tasmota, 58 x ZigBee, Homatic Ip, 2 x USV

                      OliverIOO 1 Reply Last reply
                      0
                      • D Digi-Bit

                        Hallo,

                        Ist schon etwas älter das Thema aber ich habe das JS ja von hier und vielleicht ist dies dann so einfacher.

                        const cheerio = require('cheerio');
                        const axios = require('axios');
                        const dp = "0_userdata.0.test1";
                         
                        async function getFussball() {
                            const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                            const $ = cheerio.load(response.data);
                            let datum = $('#utcRelativeContent > table:nth-child(1) > tbody > tr.cabeceraTabla > td').text();
                            let uhr = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.hora').text();
                            let lokal = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.local > span').text();
                            let visitor = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.visitante > span').text();
                            let tv = $('#utcRelativeContent > table:nth-child(1) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                            setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                            console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                        }
                        getFussball();
                         
                        
                        

                        dies funktionier leider nicht mehr :anguished:

                        bei den oberen beiden Zeilen ist jetzt auch eine rote "welle" drunter also denke ich das es damit irgend wie zusammen hängt
                        Bild_2024-02-15_174355633.png

                        im Adapter ist auch noch alles eingetragen

                        Bild_2024-02-15_174554863.png

                        Ich habe auch schon ein altes Backup installiert aber aber auch da geht es nicht :(

                        Kann mir da jemand weiter helfen den ich fand es recht nützlich nicht immer suchen zu müssen auf welchem Portal man sich das Fussball spiel anschauen kann !

                        mfg

                        Digi-Bit

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        wrote on last edited by
                        #23

                        @digi-bit

                        Der Anbieter hatte leichte Änderungen an seiner Seite vorgenommen

                        const cheerio = require('cheerio');
                        const axios = require('axios');
                        const dp = "0_userdata.0.test1";
                         
                        async function getFussball() {
                            const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                            const $ = cheerio.load(response.data);
                            let datum = $('#utcRelativeContent > table:nth-child(2) > tbody > tr.cabeceraTabla > td').text();
                            let uhr = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.hora').text();
                            let lokal = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.local > span').text();
                            let visitor = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.visitante span').text();
                            let tv = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                            setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                            console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                        }
                        getFussball();
                        

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        D 1 Reply Last reply
                        1
                        • OliverIOO OliverIO

                          @digi-bit

                          Der Anbieter hatte leichte Änderungen an seiner Seite vorgenommen

                          const cheerio = require('cheerio');
                          const axios = require('axios');
                          const dp = "0_userdata.0.test1";
                           
                          async function getFussball() {
                              const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                              const $ = cheerio.load(response.data);
                              let datum = $('#utcRelativeContent > table:nth-child(2) > tbody > tr.cabeceraTabla > td').text();
                              let uhr = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.hora').text();
                              let lokal = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.local > span').text();
                              let visitor = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.visitante span').text();
                              let tv = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                              setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                              console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                          }
                          getFussball();
                          
                          D Offline
                          D Offline
                          Digi-Bit
                          wrote on last edited by
                          #24

                          @oliverio sagte in Parser: TV-Sender Fußball [Closed]:

                          @digi-bit

                          Der Anbieter hatte leichte Änderungen an seiner Seite vorgenommen

                          const cheerio = require('cheerio');
                          const axios = require('axios');
                          const dp = "0_userdata.0.test1";
                           
                          async function getFussball() {
                              const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                              const $ = cheerio.load(response.data);
                              let datum = $('#utcRelativeContent > table:nth-child(2) > tbody > tr.cabeceraTabla > td').text();
                              let uhr = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.hora').text();
                              let lokal = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.local > span').text();
                              let visitor = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.visitante span').text();
                              let tv = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                              setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                              console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                          }
                          getFussball();
                          

                          Hallo,

                          Ahhh, danke erstmal aber leider wird der "lokal " nicht angezeigt, kannst du da noch was machen ?

                          mfg

                          Digi-Bit

                          Router: Ubiquiti UniFi Dream Machine Pro|Iobroker I.NUCi5/Debian, 6 x Switche, 3 x APs, 3 x Cam, 2 x Nas(Qnap 4 & 8 Bay's)
                          7 x Echos, 76 x Tasmota, 58 x ZigBee, Homatic Ip, 2 x USV

                          OliverIOO 1 Reply Last reply
                          0
                          • D Digi-Bit

                            @oliverio sagte in Parser: TV-Sender Fußball [Closed]:

                            @digi-bit

                            Der Anbieter hatte leichte Änderungen an seiner Seite vorgenommen

                            const cheerio = require('cheerio');
                            const axios = require('axios');
                            const dp = "0_userdata.0.test1";
                             
                            async function getFussball() {
                                const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                                const $ = cheerio.load(response.data);
                                let datum = $('#utcRelativeContent > table:nth-child(2) > tbody > tr.cabeceraTabla > td').text();
                                let uhr = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.hora').text();
                                let lokal = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.local > span').text();
                                let visitor = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.visitante span').text();
                                let tv = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                                setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                                console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                            }
                            getFussball();
                            

                            Hallo,

                            Ahhh, danke erstmal aber leider wird der "lokal " nicht angezeigt, kannst du da noch was machen ?

                            mfg

                            Digi-Bit

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            wrote on last edited by OliverIO
                            #25

                            dann so

                            @digi-bit sagte in Parser: TV-Sender Fußball [Closed]:

                            const cheerio = require('cheerio');
                            const axios = require('axios');
                            const dp = "0_userdata.0.test1";
                             
                            async function getFussball() {
                                const response = await axios.get('https://www.fussball-im-tv.com/team/colonia');
                                const $ = cheerio.load(response.data);
                                let datum = $('#utcRelativeContent > table:nth-child(2) > tbody > tr.cabeceraTabla > td').text();
                                let uhr = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.hora').text();
                                let lokal = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.local span').text();
                                let visitor = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.visitante span').text();
                                let tv = $('#utcRelativeContent > table:nth-child(2) > tbody > tr:nth-child(2) > td.canales > ul li').toArray().map(el=>$(el).text()).join(", ");
                                setState(dp,lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                                console.log(lokal + " - " + visitor + " | " + datum + " um " + uhr + " | " + tv);
                            }
                            getFussball();
                            

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            1 Reply Last reply
                            1
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            628

                            Online

                            32.7k

                            Users

                            82.3k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe