Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Funktion gibt kein result aus und JS erweitern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Funktion gibt kein result aus und JS erweitern

    This topic has been deleted. Only users with topic management privileges can see it.
    • David G.
      David G. @OliverIO last edited by

      @oliverio

      Hab es jetzt mal in Blockly in einen Funktiobsbaustein gepackt.
      Im Log erhalte ich dann nur ein:

      07:33:26.892	info	javascript.0 (23527) script.js.Eigene_Scripte.Test: []
      

      Ist es möglich das JSON mit den Daten in einen DP zu schreiben oder in die Variable "result" (Die Variable darf aber wie ich weiter oben gelesen habe nicht definiert sein, damit mir der Blockly Block diese zurückgeben kann).

      Die JSON kann ich dann schön in Blockly weiterverarbeiten.
      47cdb9a5-5c45-4c49-873a-4e0127e20d98-image.png

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @David G. last edited by

        @david-g
        Mit blockly kenne ich mich nicht so aus.
        Am besten du schreibst das in ein JavaScript script

        In einen datenpunkt Schreiben kannst du es mit setState in Zeile 19
        Dein blockly trigger dann am besten auf Änderung dieses datenpunktes

        David G. 1 Reply Last reply Reply Quote 0
        • David G.
          David G. @OliverIO last edited by

          @oliverio

          Wenn ich es in ein JS Skript einfüge bekomme ich auch kein Ergebnis:

          07:23:34.119	info	javascript.0 (23527) Start javascript script.js.Eigene_Scripte.trauertest
          07:23:34.129	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          07:23:35.589	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: []
          
          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @David G. last edited by OliverIO

            @david-g

            wenn du in das script gegangen bist und es laufen lassen hast, sind da keine Meldungen gekommen?

            Leider können die Variationen in der Ausgabe relativ vielfältig sein. Wenn die nicht berücksichtigt werden, dann führt das zu fehlern, die behoben werden müssen.

            Bei den aktuellen Anzeigen, waren welche ohne Geburtsdatum oder gar komplett ohne Daten dabei.
            Das ist jetzt in der folgenden Version berücksichtigt.

            Ausserdem hab ich noch einen Fehler korrigiert, bei dem sich der Lauf des Skriptes in vscode zu iobroker unterscheidet

            const axios = require('axios');
            const cheerio = require('cheerio');
             
            const domain = 'https://www.57trauer.de';   // domain für die bilder
            const baseUrl = 'https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-'; //abruf url
            const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"; //user agent, so das der abruf wie von einem browser aussieht, ansonsten verwendet axios seinen eigenen ua-string
            let info=[]; //array in dem  alle infos gesammelt werden
            
            async function main() {
            
                let p1 = await readPage(1); //lesen der ersten seite
                let px = await countPages(p1); // ermitteln wieviele seiten
                console.log("Anzahl Seiten "+px)
                let p=p1;
                for (var i=2;i<=px;i++) {
                    getInformations(p,info); //informationen je seite einsammeln
                    p=await readPage(i); //nächste seite lesen
                }
            console.log(info);  //ausgabe aller ergebnisse
            }
            
            //alle informationen einer seite einsammeln
            async function getInformations(data,info) {
                const $ = cheerio.load(data);
                //alle anzeigen einer seite ermitteln und abklappern
                $('.col-12.d-flex.align-items-stretch').each((index, el) => {
                    let obj={}; //objekt zum einsammeln der informationen zu einer anzeige erzeugen
                    obj.images=getImages(el)||[]; //alle bilder einer anzeige lesen
                    obj.title = getTitle(el)||""; //den namen einer anzeige lesen
                    obj.birth = getBirth(el)||""; //geburtsdatum
                    obj.death = getDeath(el)||""; //sterbedatum
                    info.push(obj);  //alle infos einer anzeige dem array hinzufügen
                });
            }
            //geburtsdatum ermitteln
            function getBirth(data) {
                const $ = cheerio.load(data);
                let html=$(".c-blockitem-subtitle").html();
                if (!html) return "";
                let match = html.match(/\* ([\d\.]+)/);
                if (match) {
                    return match[1];
                } else {
                    return "";
                }
            }
            //sterbedatum ermitteln
            function getDeath(data) {
                const $ = cheerio.load(data);
                let html=$(".c-blockitem-subtitle").html();
                if (!html) return "";
                let match = html.match(/ - † ([\d\.]+)/);
                if (match) {
                    return match[1];
                } else {
                    return "";
                }
            }
            //alle anzeigenbilder ermitteln und als array zurückgeben
            function getImages(data) {
                const $ = cheerio.load(data);
                return $("img").map((i,el)=>domain+$(el).attr("src")).toArray();
            }
            //den namen ermitteln und zurückgeben
            function getTitle(data) {
                const $ = cheerio.load(data);
                let title = $("a:first").attr("title").match(/Anzeige (.+)/);
                if (title) {
                    return title[1];
                } else {
                    return "";
                }
            
            }
            //die anzahl aller seiten ermitteln
            async function countPages(data) {
                const $ = cheerio.load(data);
                return parseInt($(".pagination:first .page-item a").eq(-2).html());
            }
            //eine seite mit der angegebenen seitennummer abrufen
            async function readPage(page) {
              try {
                const response = await axios.get(baseUrl + page,{
                    headers: {
                        userAgent: userAgent
                    }
                });
            console.log("page "+page); 
            console.log("status "+response.status); 
             
                return response.data;
              } catch (error) {
                console.error('Fehler Abruf Seite: '+page, error);
                return 0;
              }
            
            }
            
            main();
            
            
            David G. 1 Reply Last reply Reply Quote 0
            • David G.
              David G. @OliverIO last edited by

              @oliverio

              Das möchte auch nicht.
              Am Stück in ein JS Skript kopiert und wie es ist abgespeichert.

              Mehr kommt nicht:

              14:32:14.564	info	javascript.0 (23527) Stop script script.js.Eigene_Scripte.trauertest
              14:32:14.569	info	javascript.0 (23527) Start javascript script.js.Eigene_Scripte.trauertest
              14:32:14.579	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
              14:32:14.959	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: []
              
              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @David G. last edited by OliverIO

                @david-g

                das was du da kopierst, sieht immer so aus, als ob du es aus dem iobroker-log nimmst.
                kannst du bitte mal hier schauen?
                www_screencapture_com_2023-9-14_14_49.mp4

                mit dem original skript wird dann am ende in dem log, das array ausgegeben.

                ich habe oben mal noch eine debug-zeile eingefügt, bitte script nochmal aktualisieren

                David G. 1 Reply Last reply Reply Quote 0
                • David G.
                  David G. @OliverIO last edited by

                  @oliverio

                  So ist es bei mir:

                  drop.gif

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @David G. last edited by OliverIO

                    @david-g

                    ok,
                    und axios und cheerio ist auch in den Einstellungen des javascript adapters als zusätzliche module eingetragen?

                    es sieht so aus, wie wenn der seitenabruf von axios nicht geht, allerdings ohne eine fehlermeldung zu werfen.
                    ich habe hier nochmal ein paar mehr debug outputs reingemacht.

                    const axios = require('axios');
                    const cheerio = require('cheerio');
                     
                    const domain = 'https://www.57trauer.de';   // domain für die bilder
                    const baseUrl = 'https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-'; //abruf url
                    const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"; //user agent, so das der abruf wie von einem browser aussieht, ansonsten verwendet axios seinen eigenen ua-string
                    let info=[]; //array in dem  alle infos gesammelt werden
                    
                    async function main() {
                    console.log("F main "); 
                    
                        let p1 = await readPage(1); //lesen der ersten seite
                    console.log(p1);  //ausgabe aller ergebnisse
                        let px = await countPages(p1); // ermitteln wieviele seiten
                        console.log("Anzahl Seiten "+px)
                        let p=p1;
                        for (var i=2;i<=px;i++) {
                            getInformations(p,info); //informationen je seite einsammeln
                            p=await readPage(i); //nächste seite lesen
                        }
                    console.log(info);  //ausgabe aller ergebnisse
                    }
                    
                    //alle informationen einer seite einsammeln
                    async function getInformations(data,info) {
                        const $ = cheerio.load(data);
                        //alle anzeigen einer seite ermitteln und abklappern
                        $('.col-12.d-flex.align-items-stretch').each((index, el) => {
                            let obj={}; //objekt zum einsammeln der informationen zu einer anzeige erzeugen
                            obj.images=getImages(el)||[]; //alle bilder einer anzeige lesen
                            obj.title = getTitle(el)||""; //den namen einer anzeige lesen
                            obj.birth = getBirth(el)||""; //geburtsdatum
                            obj.death = getDeath(el)||""; //sterbedatum
                            info.push(obj);  //alle infos einer anzeige dem array hinzufügen
                        });
                    }
                    //geburtsdatum ermitteln
                    function getBirth(data) {
                        const $ = cheerio.load(data);
                        let html=$(".c-blockitem-subtitle").html();
                        if (!html) return "";
                        let match = html.match(/\* ([\d\.]+)/);
                        if (match) {
                            return match[1];
                        } else {
                            return "";
                        }
                    }
                    //sterbedatum ermitteln
                    function getDeath(data) {
                        const $ = cheerio.load(data);
                        let html=$(".c-blockitem-subtitle").html();
                        if (!html) return "";
                        let match = html.match(/ - † ([\d\.]+)/);
                        if (match) {
                            return match[1];
                        } else {
                            return "";
                        }
                    }
                    //alle anzeigenbilder ermitteln und als array zurückgeben
                    function getImages(data) {
                        const $ = cheerio.load(data);
                        return $("img").map((i,el)=>domain+$(el).attr("src")).toArray();
                    }
                    //den namen ermitteln und zurückgeben
                    function getTitle(data) {
                        const $ = cheerio.load(data);
                        let title = $("a:first").attr("title").match(/Anzeige (.+)/);
                        if (title) {
                            return title[1];
                        } else {
                            return "";
                        }
                    
                    }
                    //die anzahl aller seiten ermitteln
                    async function countPages(data) {
                        const $ = cheerio.load(data);
                        return parseInt($(".pagination:first .page-item a").eq(-2).html());
                    }
                    //eine seite mit der angegebenen seitennummer abrufen
                    async function readPage(page) {
                    console.log("F readPage "); 
                      try {
                        const response = await axios.get(baseUrl + page,{
                            headers: {
                                userAgent: userAgent
                            }
                        });
                    console.log("page "+page); 
                    console.log("status "+response.status); 
                     
                        return response.data;
                      } catch (error) {
                        console.error('Fehler Abruf Seite: '+page, error);
                        return 0;
                      }
                    
                    }
                    
                    main();
                    
                    
                    David G. 1 Reply Last reply Reply Quote 0
                    • David G.
                      David G. @OliverIO last edited by David G.

                      @oliverio

                      Jetzt kommt im Log:

                      9:51:07.191	info	javascript.0 (23527) Stop script script.js.Eigene_Scripte.trauertest
                      09:51:07.243	info	javascript.0 (23527) Start javascript script.js.Eigene_Scripte.trauertest
                      09:51:07.252	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F main
                      09:51:07.252	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage
                      09:51:07.254	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      09:51:08.633	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 1
                      09:51:08.633	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                      09:51:08.633	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: <!DOCTYPE html> <html lang="de" dir="ltr"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="description" content="Lesen Sie aktuelle Traueranzeigen und Todesanzeigen der letzten 14 Tage aus Ihrer Tageszeitung und gedenken Sie Ihren Verstorbenen." /> <link rel="canonical" href="https://www.57trauer.de/traueranzeigen-suche/letzte-14-tage/seite-1" /> <meta property="og:title" content="Traueranzeigen der letzten 14 Tage | 57trauer.de" /> <meta property="og:description" content="..............
                      09:51:08.680	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: Anzahl Seiten NaN
                      09:51:08.680	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: []
                      

                      (Zeile 11 steht nicht im Log, macht das Forum irgendwie da hin ....)
                      axios und cheeriosind aktiv. "Mein" Skript lauft ja durch und braucht auch beides.

                      OliverIO 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @David G. last edited by

                        @david-g said in Funktion gibt kein result aus und JS Funktion erweitern:

                        t: <!DOCTYPE html> <html lang="de" dir="ltr"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="description" content="Lesen Sie aktuelle Traueranzeigen und Todesanzeigen der letzten 14 Tage aus Ihrer Tageszeitung und gedenken Sie Ihren Verstorbenen." /> <link rel="canonical" href="https://www.57trauer.de/traueranzeigen-suche/letzte-14-tage/seite-1" /> <meta property="og:title" content="Traueranzeigen der letzten 14 Tage | 57trauer.

                        ok,
                        also seite 1 wird abgerufen,
                        aber die Anzahl der Seiten kann nicht ermittelt werden.
                        Bist du mit einem Account dort angemeldet?
                        Irgendwie ist da die Seite anders aufgebaut, so das er die Zahl nicht findet
                        Hab gerade bei mir nochmal probiert. Da klappt es jedes mal.
                        Kannst du das ausgegebenen HTML, welches nur gekürzt angezeigt wird, hier posten? Dann kann ich schauen warum er die Zahl nicht findet.

                        David G. 1 Reply Last reply Reply Quote 0
                        • David G.
                          David G. @OliverIO last edited by

                          @oliverio

                          Anbei das ganze Log mit Quellcode:
                          log.txt

                          Hier der Bereich mit den Seitenzahlen:

                                               <ul class="pagination">
                          
                                                                                    <li class="page-item active"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-1">1</a></li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-2">2</a></li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-3">3</a></li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-4">4</a></li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-5">5</a></li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-6">6</a></li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-7">7</a></li>
                                                           <li class="page-item">...</li>
                                                           <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-24">24</a></li>
                          
                                                       <li class="page-item"><a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-2">></a></li>
                                               </ul>
                          
                          OliverIO 1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @David G. last edited by

                            @david-g

                            leider sieht das normal aus.
                            das folgende skript nochmal mit weiteren debug ausgaben
                            Interessant wäre die Seite mit der folgenden Ausgabe oder so ähnlich:

                            Element Anzahl Seiten:<a class="page-link" href="/traueranzeigen-suche/letzte-14-Tage/seite-24">24</a>
                            
                            
                            const axios = require('axios');
                            const cheerio = require('cheerio');
                             
                            const domain = 'https://www.57trauer.de';   // domain für die bilder
                            const baseUrl = 'https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-'; //abruf url
                            const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"; //user agent, so das der abruf wie von einem browser aussieht, ansonsten verwendet axios seinen eigenen ua-string
                            let info=[]; //array in dem  alle infos gesammelt werden
                            
                            async function main() {
                            console.log("F main "); 
                            
                                let p1 = await readPage(1); //lesen der ersten seite
                                let px = await countPages(p1); // ermitteln wieviele seiten
                                console.log("Anzahl Seiten "+px)
                                let p=p1;
                                for (var i=2;i<=px;i++) {
                                    getInformations(p,info); //informationen je seite einsammeln
                                    p=await readPage(i); //nächste seite lesen
                                }
                            console.log(info);  //ausgabe aller ergebnisse
                            }
                            
                            //alle informationen einer seite einsammeln
                            async function getInformations(data,info) {
                                const $ = cheerio.load(data);
                                //alle anzeigen einer seite ermitteln und abklappern
                                $('.col-12.d-flex.align-items-stretch').each((index, el) => {
                                    let obj={}; //objekt zum einsammeln der informationen zu einer anzeige erzeugen
                                    obj.images=getImages(el)||[]; //alle bilder einer anzeige lesen
                                    obj.title = getTitle(el)||""; //den namen einer anzeige lesen
                                    obj.birth = getBirth(el)||""; //geburtsdatum
                                    obj.death = getDeath(el)||""; //sterbedatum
                                    info.push(obj);  //alle infos einer anzeige dem array hinzufügen
                                });
                            }
                            //geburtsdatum ermitteln
                            function getBirth(data) {
                                const $ = cheerio.load(data);
                                let html=$(".c-blockitem-subtitle").html();
                                if (!html) return "";
                                let match = html.match(/\* ([\d\.]+)/);
                                if (match) {
                                    return match[1];
                                } else {
                                    return "";
                                }
                            }
                            //sterbedatum ermitteln
                            function getDeath(data) {
                                const $ = cheerio.load(data);
                                let html=$(".c-blockitem-subtitle").html();
                                if (!html) return "";
                                let match = html.match(/ - † ([\d\.]+)/);
                                if (match) {
                                    return match[1];
                                } else {
                                    return "";
                                }
                            }
                            //alle anzeigenbilder ermitteln und als array zurückgeben
                            function getImages(data) {
                                const $ = cheerio.load(data);
                                return $("img").map((i,el)=>domain+$(el).attr("src")).toArray();
                            }
                            //den namen ermitteln und zurückgeben
                            function getTitle(data) {
                                const $ = cheerio.load(data);
                                let title = $("a:first").attr("title").match(/Anzeige (.+)/);
                                if (title) {
                                    return title[1];
                                } else {
                                    return "";
                                }
                            
                            }
                            //die anzahl aller seiten ermitteln
                            async function countPages(data) {
                                const $ = cheerio.load(data);
                                console.log($(".pagination:first .page-item a").eq(-2).prop("outerHTML"));
                                return parseInt($(".pagination:first .page-item a").eq(-2).html());
                            }
                            //eine seite mit der angegebenen seitennummer abrufen
                            async function readPage(page) {
                            console.log("F readPage "); 
                              try {
                                const response = await axios.get(baseUrl + page,{
                                    headers: {
                                        userAgent: userAgent
                                    }
                                });
                            console.log("page "+page); 
                            console.log("status "+response.status); 
                             
                                return response.data;
                              } catch (error) {
                                console.error('Fehler Abruf Seite: '+page, error);
                                return 0;
                              }
                            
                            }
                            
                            main();
                            
                            
                            
                            David G. 1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @OliverIO last edited by

                              @oliverio

                              Komische Sache, dass es bei dir geht und bei mir nicht.
                              Hab eben ganz vergessen drauf zu Antworten. Ich habe dort keinen Account oder ähnliches.

                              Anbei das Log der neuen Version:

                              15:53:54.279	info	javascript.0 (23527) Start javascript script.js.Eigene_Scripte.trauertest
                              15:53:54.287	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F main
                              15:53:54.287	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage
                              15:53:54.289	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              15:53:54.590	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 1
                              15:53:54.590	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                              15:53:54.641	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: null
                              15:53:54.642	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: Anzahl Seiten NaN
                              15:53:54.642	info	javascript.0 (23527) script.js.Eigene_Scripte.trauertest: []
                              
                              OliverIO 1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @David G. last edited by

                                @david-g
                                Also sehr seltsam.
                                Ich habe die Seite die im log enthalten ist untersucht. Von der Struktur passt alles und die letzte Seite ist auffindbar.
                                Das Ergebnis des letzten logs sagt mir das er aber das Element wo das drin steht nicht findet (null) und dann daher auch keine Zahl daraus extrahieren kann.
                                Bei mir klappt das. Hier können auch keine Browser Unterschiede wirken da die Daten ja nur technisch abgerufen werden ohne das da noch ein Browser dazwischenfummelt
                                Mir würde jetzt noch versionsstände von axios oder besser noch cheerio interessieren
                                Um den genauen Unterschied ausmachen zu können.
                                Das einfachste aber dürfte sein deine suchmethode zu nehmen die ja die Seriennummer wohl findet

                                David G. 1 Reply Last reply Reply Quote 0
                                • David G.
                                  David G. @OliverIO last edited by

                                  @oliverio sagte in Funktion gibt kein result aus und JS Funktion erweitern:

                                  Das einfachste aber dürfte sein deine suchmethode zu nehmen die ja die Seriennummer wohl findet

                                  Meine ist weit hergeholt.
                                  Ich musste googlen wie der trigger auszusehen hat oder es mir in der js Ansicht von einem Blockly abschreiben 🤣

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @David G. last edited by OliverIO

                                    @david-g

                                    so hier nochmal mit deiner suchmethode nach der seitenanzahl

                                    
                                    const axios = require('axios');
                                    const cheerio = require('cheerio');
                                     
                                    const domain = 'https://www.57trauer.de';   // domain für die bilder
                                    const baseUrl = 'https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-'; //abruf url
                                    const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"; //user agent, so das der abruf wie von einem browser aussieht, ansonsten verwendet axios seinen eigenen ua-string
                                    let info=[]; //array in dem  alle infos gesammelt werden
                                    
                                    async function main() {
                                    console.log("F main "); 
                                    
                                        let p1 = await readPage(1); //lesen der ersten seite
                                        let px = await countPages(p1); // ermitteln wieviele seiten
                                        console.log("Anzahl Seiten "+px)
                                        let p=p1;
                                        for (var i=2;i<=px;i++) {
                                            getInformations(p,info); //informationen je seite einsammeln
                                            p=await readPage(i); //nächste seite lesen
                                        }
                                    console.log(info);  //ausgabe aller ergebnisse
                                    }
                                    
                                    //alle informationen einer seite einsammeln
                                    async function getInformations(data,info) {
                                        const $ = cheerio.load(data);
                                        //alle anzeigen einer seite ermitteln und abklappern
                                        $('.col-12.d-flex.align-items-stretch').each((index, el) => {
                                            let obj={}; //objekt zum einsammeln der informationen zu einer anzeige erzeugen
                                            obj.images=getImages(el)||[]; //alle bilder einer anzeige lesen
                                            obj.title = getTitle(el)||""; //den namen einer anzeige lesen
                                            obj.birth = getBirth(el)||""; //geburtsdatum
                                            obj.death = getDeath(el)||""; //sterbedatum
                                            info.push(obj);  //alle infos einer anzeige dem array hinzufügen
                                        });
                                    }
                                    //geburtsdatum ermitteln
                                    function getBirth(data) {
                                        const $ = cheerio.load(data);
                                        let html=$(".c-blockitem-subtitle").html();
                                        if (!html) return "";
                                        let match = html.match(/\* ([\d\.]+)/);
                                        if (match) {
                                            return match[1];
                                        } else {
                                            return "";
                                        }
                                    }
                                    //sterbedatum ermitteln
                                    function getDeath(data) {
                                        const $ = cheerio.load(data);
                                        let html=$(".c-blockitem-subtitle").html();
                                        if (!html) return "";
                                        let match = html.match(/ - † ([\d\.]+)/);
                                        if (match) {
                                            return match[1];
                                        } else {
                                            return "";
                                        }
                                    }
                                    //alle anzeigenbilder ermitteln und als array zurückgeben
                                    function getImages(data) {
                                        const $ = cheerio.load(data);
                                        return $("img").map((i,el)=>domain+$(el).attr("src")).toArray();
                                    }
                                    //den namen ermitteln und zurückgeben
                                    function getTitle(data) {
                                        const $ = cheerio.load(data);
                                        let title = $("a:first").attr("title").match(/Anzeige (.+)/);
                                        if (title) {
                                            return title[1];
                                        } else {
                                            return "";
                                        }
                                    
                                    }
                                    //die anzahl aller seiten ermitteln
                                    async function countPages(data) {
                                        const $ = cheerio.load(data);
                                        return parseInt($('.pagination li').last().prev().text());
                                        //return parseInt($(".pagination:first .page-item a").eq(-2).html());
                                    }
                                    //eine seite mit der angegebenen seitennummer abrufen
                                    async function readPage(page) {
                                    console.log("F readPage "); 
                                      try {
                                        const response = await axios.get(baseUrl + page,{
                                            headers: {
                                                userAgent: userAgent
                                            }
                                        });
                                    console.log("page "+page); 
                                    console.log("status "+response.status); 
                                     
                                        return response.data;
                                      } catch (error) {
                                        console.error('Fehler Abruf Seite: '+page, error);
                                        return 0;
                                      }
                                    
                                    }
                                    
                                    main();
                                    
                                    
                                    
                                    David G. 1 Reply Last reply Reply Quote 0
                                    • David G.
                                      David G. @OliverIO last edited by David G.

                                      @oliverio

                                      Cool,
                                      das sieht schon viel besser aus.
                                      Das JSON ist ein ganz wenig anders wie bei mir aufgebaut. Aber das bekomme ich bestimmt mit Blockly hin. Bei mir war das Bild nicht in []

                                      17.9.2023, 11:09:01.371	[info ]: javascript.0 (23527) Stop script script.js.Eigene_Scripte.trauertest
                                      17.9.2023, 11:09:01.419	[info ]: javascript.0 (23527) Start javascript script.js.Eigene_Scripte.trauertest
                                      17.9.2023, 11:09:01.428	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F main 
                                      17.9.2023, 11:09:01.428	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:01.430	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                      17.9.2023, 11:09:01.872	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 1
                                      17.9.2023, 11:09:01.872	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:01.914	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: Anzahl Seiten 19
                                      17.9.2023, 11:09:01.948	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:02.224	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 2
                                      17.9.2023, 11:09:02.224	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:02.259	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:03.613	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 3
                                      17.9.2023, 11:09:03.613	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:03.636	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:04.911	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 4
                                      17.9.2023, 11:09:04.911	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:04.933	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:06.304	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 5
                                      17.9.2023, 11:09:06.305	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:06.318	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:06.609	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 6
                                      17.9.2023, 11:09:06.609	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:06.623	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:07.972	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 7
                                      17.9.2023, 11:09:07.972	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:07.990	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:09.346	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 8
                                      17.9.2023, 11:09:09.346	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:09.360	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:10.723	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 9
                                      17.9.2023, 11:09:10.723	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:10.739	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:12.124	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 10
                                      17.9.2023, 11:09:12.124	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:12.137	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:13.504	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 11
                                      17.9.2023, 11:09:13.504	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:13.516	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:14.872	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 12
                                      17.9.2023, 11:09:14.872	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:14.888	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:15.212	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 13
                                      17.9.2023, 11:09:15.212	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:15.225	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:15.557	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 14
                                      17.9.2023, 11:09:15.557	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:15.569	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:15.882	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 15
                                      17.9.2023, 11:09:15.882	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:15.893	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:17.197	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 16
                                      17.9.2023, 11:09:17.197	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:17.209	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:17.475	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 17
                                      17.9.2023, 11:09:17.475	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:17.487	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:17.749	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 18
                                      17.9.2023, 11:09:17.749	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:17.760	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: F readPage 
                                      17.9.2023, 11:09:19.116	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: page 19
                                      17.9.2023, 11:09:19.116	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: status 200
                                      17.9.2023, 11:09:19.117	[info ]: javascript.0 (23527) script.js.Eigene_Scripte.trauertest: [{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/ursula-ditthardt-traueranzeige-285c5499-cfb1-4730-8dbf-1b017a964f7b.jpg'],'title':'Ursula Ditthardt geb. Hermann','birth':'28.08.1937','death':'13.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/hildegard-sondermann-traueranzeige-9037524f-1700-4f24-bd33-8048d84791e5.jpg'],'title':'Hildegard Sondermann geb. Schmallenbach','birth':'18.09.1929','death':'11.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helmuth-mueller-traueranzeige-ae4233e5-c0d5-43d1-8a84-6602dea3e3a4.jpg'],'title':'Helmuth Müller','birth':'20.07.1929','death':'10.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/juergen-baittinger-traueranzeige-5fbd9ba6-869c-404a-9c17-76b948d6be76.jpg'],'title':'Jürgen Baittinger','birth':'27.01.1952','death':'10.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karlheinz-becker-traueranzeige-b55f5a63-561c-483e-805a-71e118d18696.jpg'],'title':'Karl Heinz Becker','birth':'11.11.1947','death':'10.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/edith-groos-traueranzeige-bc2899b6-2290-444f-8511-a8491d10f3a7.jpg'],'title':'Edith Groos geb. Jarosch','birth':'25.02.1933','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gertrud-rohleder-traueranzeige-bd50db1c-7d3c-4aa5-81d7-914a3baa4b75.jpg'],'title':'Gertrud Rohleder geb. Wagener','birth':'07.10.1928','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/sabine-waldrich-traueranzeige-459a566b-b6e3-4222-ba92-d3db891a824d.jpg'],'title':'Sabine Waldrich','birth':'01.09.1966','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/jenny-voelkel-traueranzeige-e97dcef8-f33c-40b6-9652-1b0e2c6f5681.jpg'],'title':'Jenny Völkel geb. Daub','birth':'03.03.1928','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karl-heinz-peter-traueranzeige-de9db64c-1d84-4580-871e-8b5df5c637e9.jpg'],'title':'Karl-Heinz Peter','birth':'','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernd-koebeler-traueranzeige-93783bb0-683a-474f-b0d2-0d3014866e34.jpg'],'title':'Bernd Köbeler','birth':'23.11.1961','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/marianne-stolz-traueranzeige-f3a0c1fc-22e8-4566-acab-7191a209bd11.jpg'],'title':'Marianne Stolz geb. Oerter','birth':'29.07.1935','death':'09.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/werner-nowotny-traueranzeige-971ffb24-ce22-4e22-946f-639ab4e8e394.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/werner-nowotny-traueranzeige-76d16501-3ca1-4bcd-9403-d29a4b444181.jpg'],'title':'Werner  Nowotny','birth':'21.09.1956','death':'08.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/wernerwilhelm-nowotny-traueranzeige-6be46a3b-63a1-40e6-82c2-ed39a1f0c01a.jpg'],'title':'Werner Wilhelm Nowotny','birth':'','death':'08.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/ursula-jakumeit-traueranzeige-17085847-1f3f-4be4-8565-ca641258ab96.jpg'],'title':'Ursula Jakumeit','birth':'24.04.1933','death':'08.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/rolf-boecher-traueranzeige-210a32c4-8f18-4801-a2b1-7c3eb0732928.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/rolf-boecher-traueranzeige-4562a443-572e-46c0-96f0-ddc579d53e73.jpg'],'title':'Rolf Böcher','birth':'22.07.1939','death':'07.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/brigitte-ermert-traueranzeige-241dccf8-b88b-4b12-bdaa-53befecffc82.jpg'],'title':'Brigitte Ermert geb. Nockemann','birth':'30.09.1939','death':'07.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/katharina-behner-traueranzeige-72861cd7-1d55-4d3e-b8aa-5303f9157f84.jpg'],'title':'Katharina Behner geb. Gokus','birth':'11.12.1924','death':'07.09.2023'},{'images':[],'title':'Hans-Ulrich Klose','birth':'13.06.1937','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/thea-stoecker-traueranzeige-d083ed4c-c9bb-42c1-9570-ceb704c266d3.jpg'],'title':'Thea Stöcker geb. Franz','birth':'24.06.1939','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/brigitte-busch-traueranzeige-7a8ceba9-f37c-450d-9e18-bf1b1f0530eb.jpg'],'title':'Brigitte Busch geb. Wilms','birth':'04.01.1932','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/charlotte-mueller-traueranzeige-603082d4-ca18-42fd-8383-258b2626fc59.jpg'],'title':'Charlotte Müller geb. Schmidt','birth':'06.08.1938','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karl-erich-hermann-traueranzeige-a27cfe80-f176-4042-ae6a-c7997e351917.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karl-erich-hermann-traueranzeige-510b370a-cc5e-4c52-9a90-60660d044e51.jpg'],'title':'Karl-Erich Hermann','birth':'08.05.1945','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/doris-steinseifer-traueranzeige-80c91e0d-e29e-44da-974d-21ca243dd86f.jpg'],'title':'Doris Steinseifer geb. Nöll','birth':'23.05.1933','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/frank-herling-traueranzeige-af998e31-b961-4794-af85-b21630b42d8a.jpg'],'title':'Frank Herling','birth':'30.01.1969','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/frankpeter-weigelt-traueranzeige-1c39f57e-31ce-438d-9580-d2c5e36884e6.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/frankpeter-weigelt-traueranzeige-a7c1eb6b-f721-46d8-bf32-ab12b88fc6c3.jpg'],'title':'Frank Peter Weigelt','birth':'26.05.1954','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karlerich-achenbach-traueranzeige-a9de4f95-6e87-45ed-a639-a5465c858d19.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karlerich-achenbach-traueranzeige-55d07cac-5435-453d-9047-58a0452c9445.jpg'],'title':'Karl Erich Achenbach','birth':'16.01.1945','death':'06.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernd-jansohn-traueranzeige-449b58c8-8158-406d-9cc3-e6bb3a467004.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernd-jansohn-traueranzeige-9185f729-1f3e-42b5-bf40-7d3da201dbab.jpg'],'title':'Bernd Jansohn','birth':'28.12.1941','death':'05.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/susanne-jung-traueranzeige-c53b8758-0798-47f2-9f56-4b9e56be67a8.jpg'],'title':'Susanne Jung geb. Plate','birth':'27.04.1955','death':'05.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/annelese-kegel-traueranzeige-becd24b4-4e1f-408b-b198-a1b8c62229fc.jpg'],'title':'Anne Lese Kegel geb. Weber','birth':'14.08.1932','death':'05.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/janikdaniel-rothenpieler-traueranzeige-a47401fa-d36f-4dd2-b2a1-2153e3752055.jpg'],'title':'Janik Daniel Rothenpieler','birth':'12.02.2004','death':'05.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/anneliese-simon-traueranzeige-4afebb86-28e1-4f15-bb0d-849d050b280a.jpg'],'title':'Anneliese Simon geb. Roth','birth':'05.11.1929','death':'05.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gertrud-cimander-traueranzeige-7f9a6160-32e6-4bee-bdec-faf7b6e08f73.jpg'],'title':'Gertrud Cimander geb. Weber','birth':'21.07.1933','death':'04.09.2023'},{'images':[],'title':'Steve  Harwell','birth':'09.01.1967','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helmut-stahlschmidt-traueranzeige-5a8dbfdc-4994-4db7-813a-1bc6e29f1bf0.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helmut-stahlschmidt-traueranzeige-8110b50c-421f-41e6-91ee-d40af77af0f5.jpg'],'title':'Helmut Stahlschmidt','birth':'06.11.1939','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/doris-hartmann-traueranzeige-d8877dcd-2291-4431-97b4-ba1fff18c718.jpg'],'title':'Doris Hartmann geb. Feld','birth':'19.09.1951','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gertraudfrieda-althaus-traueranzeige-3830618a-9389-4983-a108-8f3b1de6ac78.jpg'],'title':'Gertraud Frieda Althaus geb. Six','birth':'12.02.1944','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/herta-willkommen-traueranzeige-6af13998-c96d-41c9-8655-0e2649b49892.jpg'],'title':'Herta Willkommen geb. Kitscha','birth':'24.02.1928','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/luise-becker-traueranzeige-70bc4b2d-5f8d-4f2e-9ac4-af7b62c1e021.jpg'],'title':'Luise Becker geb. Wagner','birth':'30.12.1935','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gabriele-mueller-traueranzeige-6d62d7d8-80fb-46f5-81f6-3f01de32ed4e.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gabriele-mueller-traueranzeige-80d34799-673f-4302-8055-8386b8c9a266.jpg'],'title':'Gabriele Müller geb. Pajatsch','birth':'12.06.1947','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernward-schaefer-traueranzeige-f4580732-73f9-44b2-8e55-f906414e083a.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernward-schaefer-traueranzeige-64c459c9-c1d8-43cd-8bc0-3cf597928998.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernward-schaefer-traueranzeige-18009300-1a21-498a-8909-904687f94e85.jpg'],'title':'Bernward Schaefer','birth':'19.09.1954','death':'04.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/ilse-hoffmann-traueranzeige-b871772d-1b01-424e-9010-8cfaddf956d8.jpg'],'title':'Ilse Hoffmann geb. Wied','birth':'31.08.1928','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/karin-pilch-traueranzeige-3b4ca367-d074-4e50-bd49-7924ec55c1eb.jpg'],'title':'Karin Pilch geb. Becker','birth':'10.03.1943','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/hubert-ermert-traueranzeige-3e137d6c-c7d5-480c-8e04-82e95f95b73e.jpg'],'title':'Hubert Ermert','birth':'01.04.1935','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/hansdieter-reichmann-traueranzeige-92368a54-4828-4c50-88f8-49b5eceb56cc.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/hansdieter-reichmann-traueranzeige-bef7427c-c0e0-4a58-9e4c-3250a1820666.jpg'],'title':'Hans Dieter Reichmann','birth':'10.11.1934','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/dieter-philipp-traueranzeige-77ac1ac4-3c9a-42c1-8b49-d719384caccb.jpg'],'title':'Dieter Philipp','birth':'18.08.1940','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/dieter-hans-traueranzeige-3daf284b-a71f-4e57-8846-6155adcb41df.jpg'],'title':'Dieter Hans','birth':'14.01.1948','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gudrunjohanna-emtmann-traueranzeige-db4d2a61-9fca-43ea-9c07-dfb2d4211180.jpg'],'title':'Gudrun Johanna Emtmann geb. Beuter','birth':'20.10.1939','death':'03.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/edith-loecher-traueranzeige-d88dc9ad-ef90-468a-be8c-359a23daa777.jpg'],'title':'Edith Löcher geb. Schäfer','birth':'01.05.1937','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/bernd-hupka-traueranzeige-85e84ac7-decb-4c75-a760-1facc2ebca73.jpg'],'title':'Bernd Hupka','birth':'19.06.1951','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/wilhelm-hoffmann-traueranzeige-17f31d3c-9ad4-4a52-81f5-dce165f6dc4e.jpg'],'title':'Wilhelm Hoffmann','birth':'18.04.1932','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gisela-wagener-traueranzeige-2e6df9ac-8ed4-4bed-9552-f1c9ce417557.jpg'],'title':'Gisela Wagener geb. Kölsch','birth':'13.03.1942','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/andreas-osterloh-traueranzeige-aefc90e9-10bc-4bf5-b9bc-6e47d547c4bf.jpg'],'title':'Andreas Osterloh','birth':'11.08.1960','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/klemens-hillebrand-traueranzeige-74e33aac-70b2-48b1-a395-4f6449ee8739.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/klemens-hillebrand-traueranzeige-a3e549bf-3489-4022-8a80-89e40e6abea7.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/klemens-hillebrand-traueranzeige-581ee9a9-63aa-4a17-b45e-a471d1ca2e22.jpg'],'title':'Klemens Hillebrand','birth':'08.09.1953','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/erhard-neuser-traueranzeige-2fd395b0-af96-4bad-b401-8b552f405069.jpg'],'title':'Erhard Neuser','birth':'28.09.1952','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/michael-wunderlich-traueranzeige-7d783bb6-7e83-4fef-be89-ed19a2fa3a56.jpg'],'title':'Michael Wunderlich','birth':'28.07.1964','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helga-lorenz-traueranzeige-a64e924d-65ec-4e3e-949a-56b937268287.jpg'],'title':'Helga Lorenz geb. Buch','birth':'12.03.1956','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/brunhilde-althaus-traueranzeige-0750c33e-42d0-4cd3-a687-593dfea34c0e.jpg'],'title':'Brunhilde Althaus geb. Flender','birth':'13.05.1925','death':'02.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/fritz-boshof-traueranzeige-0a1d43c2-209b-48c4-b130-e82ed42cba60.jpg'],'title':'Fritz Boshof','birth':'25.07.1935','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/irmgard-eismann-traueranzeige-1fbb4b15-566f-4dd8-b1b3-e8f3d92ef86f.jpg'],'title':'Irmgard Eismann geb. Betz','birth':'03.09.1940','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helmut-reich-traueranzeige-0db8b566-f067-4a6d-bf4c-b2848ead84c2.jpg'],'title':'Helmut Reich','birth':'15.05.1934','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helene-schneider-traueranzeige-0539db35-ad95-459c-988b-d6a08766caa3.jpg'],'title':'Helene Schneider geb. Daniel','birth':'22.08.1930','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/stefan-gross-traueranzeige-339c0ba6-d3db-4bd0-9fe3-79a531f2c8c2.jpg'],'title':'Stefan Gross','birth':'15.12.1924','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/marlis-gallinat-traueranzeige-2a57058e-36a7-46eb-be8f-b3ded2c45ddc.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/marlis-gallinat-traueranzeige-ef6a7602-b25f-474a-9c54-2986b97b2ea7.jpg'],'title':'Marlis Gallinat geb. Sander','birth':'25.10.1935','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/elfriede-nolden-traueranzeige-cd22fdcd-5706-44d8-a8c3-593e2ba58232.jpg'],'title':'Elfriede Nolden geb. Heupel','birth':'22.01.1930','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gabriele-große-traueranzeige-2bb41215-c48c-470b-aef3-60961861b456.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gabriele-große-traueranzeige-366c2780-ba26-4358-95fe-cd4451d3390f.jpg'],'title':'Gabriele Große geb. Gerlach','birth':'08.12.1962','death':'01.09.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/dieter-stickel-traueranzeige-f2f73289-38e4-47e2-8a2b-07b048b157f8.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/dieter-stickel-traueranzeige-0bfb4734-f1db-4209-8715-8e11609638b4.jpg'],'title':'Dieter Stickel','birth':'19.05.1950','death':'31.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/elisabeth-jung-traueranzeige-ef5cbf74-3c49-46fe-94af-97685ad746c5.jpg'],'title':'Elisabeth Jung geb. Löcherbach','birth':'26.05.1936','death':'31.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/hanna-mutzke-traueranzeige-033496a6-6ebd-4da2-b662-df6e9ec74ee5.jpg'],'title':'Hanna Mutzke','birth':'03.11.1930','death':'31.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gisela-ruebsamen-traueranzeige-5ac4a7e0-bbdd-4bef-a64a-4c4b1233f4d4.jpg'],'title':'Gisela Rübsamen geb. Jud','birth':'09.06.1951','death':'31.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/brunhilde-otto-traueranzeige-f2a39838-973c-4259-b40a-c8e6723dc731.jpg'],'title':'Brunhilde Otto geb. Schneider','birth':'22.03.1942','death':'31.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/irmtraud-schniedenharn-traueranzeige-fa5026ba-8807-4899-9a1f-2216bab8d1b1.jpg'],'title':'Irmtraud Schniedenharn','birth':'16.03.1941','death':'31.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/erika-brombach-traueranzeige-64b5205a-754a-4a7d-850d-ba803ec05cb4.jpg'],'title':'Erika Brombach geb. Neuser','birth':'13.04.1929','death':'30.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/peter-stinner-traueranzeige-7db14358-4544-419c-8232-5c5df486e615.jpg'],'title':'Peter Stinner','birth':'28.06.1962','death':'30.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/lauracharisannika-liebe-traueranzeige-151e3dbd-af09-413b-a767-ce8427d2967a.jpg'],'title':'Laura Charis Annika Liebe','birth':'01.03.1988','death':'30.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/gerhard-richard-traueranzeige-c4c60462-6ff9-4f26-9873-9f9fd5207931.jpg'],'title':'Gerhard Richard','birth':'01.10.1933','death':'29.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/roswitha-seidel-traueranzeige-f582e099-77d0-4957-8410-21be0a2684cd.jpg'],'title':'Roswitha Seidel geb. Müller','birth':'01.07.1942','death':'29.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/ruth-schneider-traueranzeige-acb92990-eaa4-4dd0-a11a-04f344fad774.jpg'],'title':'Ruth Schneider geb. Daub','birth':'16.03.1930','death':'28.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/juergen-wiesel-traueranzeige-d54d66e5-5e8e-418b-80d3-6087576dfbb3.jpg'],'title':'Jürgen Wiesel','birth':'07.07.1952','death':'27.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/ernst-siebel-traueranzeige-49526154-d67a-46e8-9adf-c49ff1900001.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/ernst-siebel-traueranzeige-5057ed18-03c5-4c86-a1c4-d7f882df942b.jpg'],'title':'Ernst Siebel','birth':'23.11.1936','death':'27.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/heiko-fischbach-traueranzeige-3bffbe5c-2d9f-4f51-9a30-4e2f7d301cc7.jpg'],'title':'Heiko Fischbach','birth':'04.10.1976','death':'26.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/friedel-noeller-traueranzeige-0865b68e-5d4b-4644-b6be-6ea455483013.jpg'],'title':'Friedel Nöller geb. Autschbach','birth':'15.01.1933','death':'25.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/werner-diehl-traueranzeige-161b9228-8c2e-4e96-9852-e437cce0aa7a.jpg'],'title':'Werner Diehl','birth':'22.02.1944','death':'25.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/christel-wagener-traueranzeige-dcc586d8-f112-4f35-8944-47b52dce8e9c.jpg'],'title':'Christel Wagener geb. Hinz','birth':'25.02.1942','death':'25.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/marga-gerbershagen-traueranzeige-7a5581a8-9797-4f2c-9a71-db198e1451a3.jpg'],'title':'Marga Gerbershagen geb. Seiler','birth':'10.12.1942','death':'23.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/elke-burgmann-traueranzeige-8ed991d0-ae3a-4b20-8cf2-95c27a152a2e.jpg'],'title':'Elke Burgmann geb. Roschetzki','birth':'20.02.1960','death':'23.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/edda-heide-aurand-traueranzeige-cd89d1fd-dab7-4051-a056-83549764b171.jpg','https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/edda-heide-aurand-traueranzeige-2d982dc7-3633-4684-ae9e-bf6a7c9e60a5.jpg'],'title':'Edda-Heide Aurand geb. Sauer','birth':'21.06.1940','death':'11.08.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/marianne-heusner-traueranzeige-a13919c9-1579-48e1-accb-0eb87c29356b.jpg'],'title':'Marianne Heusner geb. Hahn','birth':'01.07.1942','death':'30.07.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/helga-sperling-traueranzeige-381ec758-0ea3-489e-a05b-52c6071f29a2.jpg'],'title':'Helga Sperling geb. Strunk','birth':'21.08.1936','death':'24.07.2023'},{'images':['https://www.57trauer.de/MEDIASERVER/content/LH186/obi_new/2023_9/herbert-grobbel-traueranzeige-f1c0afa9-9348-406b-91c5-cd51bd0ae843.jpg'],'title':'Herbert Grobbel','birth':'','death':''}]
                                      

                                      EDIT:
                                      Lasse die Daten noch in einen DP ausgeben.
                                      Klappt auch, jedoch bekommeich in der Zeile 22 wo ich das mache einen Fehler angezeigt.

                                      Warum?

                                      console.log(info);  //ausgabe aller ergebnisse
                                      setState("0_userdata.0.trauer", info, true);
                                      
                                      16:44:53.164	warn	javascript.0 (23527) at main (script.js.Eigene_Scripte.trauertest:22:1)
                                      
                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @David G. last edited by

                                        @david-g
                                        Ja
                                        Hab ich oben geschrieben
                                        Es gibt Einträge mit 2 Bilder

                                        David G. 1 Reply Last reply Reply Quote 0
                                        • David G.
                                          David G. @OliverIO last edited by

                                          @oliverio

                                          Hab ich mittlerweile auch gerafft, da muss man das ja so machen.

                                          Hab in meiner Tabelle jetzt alles eingebaut. Wenn mehrere Bilder vorhanden sind auch beide Bilder.

                                          Ebenso die beiden Daten falls vorhanden.

                                          Vielen Dank für deine Hilfe.

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          591
                                          Online

                                          32.0k
                                          Users

                                          80.3k
                                          Topics

                                          1.3m
                                          Posts

                                          3
                                          32
                                          928
                                          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