Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] Funktion gibt kein result aus und JS erweitern

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    371

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    327

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    946

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

Geplant Angeheftet Gesperrt Verschoben Blockly
32 Beiträge 3 Kommentatoren 1.1k Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • OliverIOO OliverIO

    @david-g
    Mir cheerio warst schon mal gut unterwegs.
    Leider muss man da etwas tüfteln. Auch reicht der Ausschnitt einer Seite nicht aus. Das muss man auf Basis der ganzen Seite analysieren.

    Cheerio ist ja die Nachbildung von jquery für den Server (also nodejs)
    Grund Funktion basiert auf den css selektoren.
    https://wiki.selfhtml.org/wiki/CSS/Selektoren
    Darüber kann man mit relativ kurzen Anweisungen irgend ein Element in einer html Seite adressieren und dann auch den Wert auslesen.

    Bin allerdings gerade im Urlaub. Kann erst nächste Woche wieder schauen.
    Ich benötige die url bzw. Einmal den vollständigen Quelltext
    Und die Auflistung welche Tele du genau haben willst

    David G.D Online
    David G.D Online
    David G.
    schrieb am zuletzt editiert von David G.
    #11

    @oliverio

    Cool,

    danke.

    Dann mach jetzt erstmal schön Urlaub.
    Und dann erstmal ganz gemach in den Alltag kommen ^^.


    Die URL ist
    https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-1

    Was das aktuelle Skript macht:

    • Den Link zum Bild (Traueranzeige) auslesen und den Fehlenden Teil vor den Pfad setzen.
    • Den title="Traueranzeige von Gertrud Cimander von Siegener Zeitung" auslesen und nur den Text zwischen den beiden "von" nehmen.
    • Am Seitenende die Gesamtseiten mit Ergebnissen erfassen und für die Folgeseiten auch die Daten abrufen (idr um die 30 Seiten).
    • Das alles in eine JSON schreiben

    Was mir fehlt: Die Geburts- und Todesdaten auslesen. * 21.07.1933 - † 04.09.2023. Gerne auch so am Stück als String

    Als Ausschnitt sieht eine Todesanzeige so aus:

    <div class="col-12 d-flex align-items-stretch" >
    
    
    
    <div class="c-blockitem text-center c-blockitem-noborder c-blockitem-nobg c-blockitem-noshadow c-blockitem-heading-center" id="gertrud-cimander">
        
        <div class="c-blockitem-heading"><h2 class="c-blockitem-title"><a href="https://www.57trauer.de/traueranzeige/gertrud-cimander" class="" title="Anzeige Gertrud Cimander geb. Weber"  >Anzeige Gertrud Cimander geb. Weber</a></h2><div  class="c-blockitem-subtitle">* 21.07.1933 - † 04.09.2023</div></div>
    
    
        <div class="mt-3 row">
                        <div class="col-12">
                               <a href="https://www.57trauer.de/traueranzeige/gertrud-cimander" class="" title="Traueranzeige von Gertrud Cimander von Siegener Zeitung" >
                                    <img src="/MEDIASERVER/content/LH186/obi_new/2023_9/gertrud-cimander-traueranzeige-7f9a6160-32e6-4bee-bdec-faf7b6e08f73.jpg" loading="lazy" class="img-fluid  mb-1 h-auto" title="Traueranzeige von Gertrud Cimander von Siegener Zeitung" alt="Traueranzeige von Gertrud Cimander von Siegener Zeitung"  />
                                </a>   
                        </div>
                        <div class="col-12 mt-0 pt-0 mb-3">
                            <span class="text-muted"><i class="c-icon c-icon-calendar"></i> veröffentlicht am <strong>06.09.2023</strong> in <strong>Siegener Zeitung</strong></span>
                        </div> 
        </div>
    

    Das ist der ganze Quellcode:
    code.txt

    Und hier mein aktuelles Script:

    const axios = require('axios');
    const cheerio = require('cheerio');
    
    // Die URL-Basis der Webseite
    const baseUrl = 'https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-';
    
    // Eine Funktion, um die Anzahl der verfügbaren Seiten zu ermitteln
    async function ermittleAnzahlDerSeiten() {
      try {
        // Die Webseite mit Axios abrufen
        const response = await axios.get(baseUrl + '1');
    
        // Den HTML-Inhalt mit Cheerio analysieren
        const $ = cheerio.load(response.data);
    
        // Das Element mit der Anzahl der Seiten finden und die Anzahl extrahieren
        const anzahlDerSeiten = parseInt($('.pagination li').last().prev().text());
    
        return anzahlDerSeiten;
      } catch (error) {
        console.error('Fehler beim Abrufen der Anzahl der Seiten:', error);
        return 0;
      }
    }
    
    // Eine Funktion, um die Informationen von einer bestimmten Seite zu extrahieren
    async function extrahiereInformationenVonSeite(seite) {
      try {
        // Die Webseite mit Axios abrufen
        const response = await axios.get(baseUrl + seite);
    
        // Den HTML-Inhalt mit Cheerio analysieren
        const $ = cheerio.load(response.data);
    
        // Eine leere Liste für die Ergebnisse
        const ergebnisse = [];
    
        // Alle div-Elemente mit der Klasse "mt-3 row" finden und durch sie iterieren
        $('div.mt-3.row').each((index, div) => {
          const aTag = $(div).find('a');
          if (aTag.length > 0) {
            const titleFull = aTag.attr('title');
            // Den relevanten Text zwischen "Traueranzeige von" und "von Siegener Zeitung" extrahieren
            const match = titleFull.match(/Traueranzeige von (.*?) von Siegener Zeitung/);
            if (match) {
              const relevantText = match[1];
              // Den Link zum Bild vor "https://www.57trauer.de" setzen
              const imgSrc = 'https://www.57trauer.de' + aTag.find('img').attr('src');
              // Die Informationen in ein Objekt speichern und zur Liste hinzufügen
              const ergebnis = { title: relevantText, jpg: imgSrc };
              ergebnisse.push(ergebnis);
            }
          }
        });
    
        return ergebnisse;
      } catch (error) {
        console.error('Fehler beim Extrahieren von Informationen von Seite ' + seite + ':', error);
        return [];
      }
    }
    // Die Anzahl der verfügbaren Seiten ermitteln
    ermittleAnzahlDerSeiten()
      .then(async (anzahlDerSeiten) => {
        if (anzahlDerSeiten > 0) {
          // Eine leere Liste für alle Ergebnisse
          const alleErgebnisse = [];
    
          // Durch alle Seiten iterieren und die Informationen extrahieren
          for (let seite = 1; seite <= anzahlDerSeiten; seite++) {
            const ergebnisseVonSeite = await extrahiereInformationenVonSeite(seite);
            alleErgebnisse.push(...ergebnisseVonSeite);
          }
    
          // Die gesamten Ergebnisse in die Variable "result" speichern
    
          result = JSON.stringify(alleErgebnisse, null, 2);
    
          // Die Informationen aus der Variable "result" über die Konsole ausgeben
          console.log(result);
          setState("0_userdata.0.trauer"/*trauer*/, result, true);
    
        } else {
          console.log('Keine Seiten gefunden.');
        }
      })
      .catch((error) => {
        console.error('Fehler:', error);
      });
    return result
    

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen für eure Visualisierung klick

    OliverIOO 1 Antwort Letzte Antwort
    0
    • David G.D David G.

      @oliverio

      Cool,

      danke.

      Dann mach jetzt erstmal schön Urlaub.
      Und dann erstmal ganz gemach in den Alltag kommen ^^.


      Die URL ist
      https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-1

      Was das aktuelle Skript macht:

      • Den Link zum Bild (Traueranzeige) auslesen und den Fehlenden Teil vor den Pfad setzen.
      • Den title="Traueranzeige von Gertrud Cimander von Siegener Zeitung" auslesen und nur den Text zwischen den beiden "von" nehmen.
      • Am Seitenende die Gesamtseiten mit Ergebnissen erfassen und für die Folgeseiten auch die Daten abrufen (idr um die 30 Seiten).
      • Das alles in eine JSON schreiben

      Was mir fehlt: Die Geburts- und Todesdaten auslesen. * 21.07.1933 - † 04.09.2023. Gerne auch so am Stück als String

      Als Ausschnitt sieht eine Todesanzeige so aus:

      <div class="col-12 d-flex align-items-stretch" >
      
      
      
      <div class="c-blockitem text-center c-blockitem-noborder c-blockitem-nobg c-blockitem-noshadow c-blockitem-heading-center" id="gertrud-cimander">
          
          <div class="c-blockitem-heading"><h2 class="c-blockitem-title"><a href="https://www.57trauer.de/traueranzeige/gertrud-cimander" class="" title="Anzeige Gertrud Cimander geb. Weber"  >Anzeige Gertrud Cimander geb. Weber</a></h2><div  class="c-blockitem-subtitle">* 21.07.1933 - † 04.09.2023</div></div>
      
      
          <div class="mt-3 row">
                          <div class="col-12">
                                 <a href="https://www.57trauer.de/traueranzeige/gertrud-cimander" class="" title="Traueranzeige von Gertrud Cimander von Siegener Zeitung" >
                                      <img src="/MEDIASERVER/content/LH186/obi_new/2023_9/gertrud-cimander-traueranzeige-7f9a6160-32e6-4bee-bdec-faf7b6e08f73.jpg" loading="lazy" class="img-fluid  mb-1 h-auto" title="Traueranzeige von Gertrud Cimander von Siegener Zeitung" alt="Traueranzeige von Gertrud Cimander von Siegener Zeitung"  />
                                  </a>   
                          </div>
                          <div class="col-12 mt-0 pt-0 mb-3">
                              <span class="text-muted"><i class="c-icon c-icon-calendar"></i> veröffentlicht am <strong>06.09.2023</strong> in <strong>Siegener Zeitung</strong></span>
                          </div> 
          </div>
      

      Das ist der ganze Quellcode:
      code.txt

      Und hier mein aktuelles Script:

      const axios = require('axios');
      const cheerio = require('cheerio');
      
      // Die URL-Basis der Webseite
      const baseUrl = 'https://www.57trauer.de/traueranzeigen-suche/letzte-14-Tage/seite-';
      
      // Eine Funktion, um die Anzahl der verfügbaren Seiten zu ermitteln
      async function ermittleAnzahlDerSeiten() {
        try {
          // Die Webseite mit Axios abrufen
          const response = await axios.get(baseUrl + '1');
      
          // Den HTML-Inhalt mit Cheerio analysieren
          const $ = cheerio.load(response.data);
      
          // Das Element mit der Anzahl der Seiten finden und die Anzahl extrahieren
          const anzahlDerSeiten = parseInt($('.pagination li').last().prev().text());
      
          return anzahlDerSeiten;
        } catch (error) {
          console.error('Fehler beim Abrufen der Anzahl der Seiten:', error);
          return 0;
        }
      }
      
      // Eine Funktion, um die Informationen von einer bestimmten Seite zu extrahieren
      async function extrahiereInformationenVonSeite(seite) {
        try {
          // Die Webseite mit Axios abrufen
          const response = await axios.get(baseUrl + seite);
      
          // Den HTML-Inhalt mit Cheerio analysieren
          const $ = cheerio.load(response.data);
      
          // Eine leere Liste für die Ergebnisse
          const ergebnisse = [];
      
          // Alle div-Elemente mit der Klasse "mt-3 row" finden und durch sie iterieren
          $('div.mt-3.row').each((index, div) => {
            const aTag = $(div).find('a');
            if (aTag.length > 0) {
              const titleFull = aTag.attr('title');
              // Den relevanten Text zwischen "Traueranzeige von" und "von Siegener Zeitung" extrahieren
              const match = titleFull.match(/Traueranzeige von (.*?) von Siegener Zeitung/);
              if (match) {
                const relevantText = match[1];
                // Den Link zum Bild vor "https://www.57trauer.de" setzen
                const imgSrc = 'https://www.57trauer.de' + aTag.find('img').attr('src');
                // Die Informationen in ein Objekt speichern und zur Liste hinzufügen
                const ergebnis = { title: relevantText, jpg: imgSrc };
                ergebnisse.push(ergebnis);
              }
            }
          });
      
          return ergebnisse;
        } catch (error) {
          console.error('Fehler beim Extrahieren von Informationen von Seite ' + seite + ':', error);
          return [];
        }
      }
      // Die Anzahl der verfügbaren Seiten ermitteln
      ermittleAnzahlDerSeiten()
        .then(async (anzahlDerSeiten) => {
          if (anzahlDerSeiten > 0) {
            // Eine leere Liste für alle Ergebnisse
            const alleErgebnisse = [];
      
            // Durch alle Seiten iterieren und die Informationen extrahieren
            for (let seite = 1; seite <= anzahlDerSeiten; seite++) {
              const ergebnisseVonSeite = await extrahiereInformationenVonSeite(seite);
              alleErgebnisse.push(...ergebnisseVonSeite);
            }
      
            // Die gesamten Ergebnisse in die Variable "result" speichern
      
            result = JSON.stringify(alleErgebnisse, null, 2);
      
            // Die Informationen aus der Variable "result" über die Konsole ausgeben
            console.log(result);
            setState("0_userdata.0.trauer"/*trauer*/, result, true);
      
          } else {
            console.log('Keine Seiten gefunden.');
          }
        })
        .catch((error) => {
          console.error('Fehler:', error);
        });
      return result
      
      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #12

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

      ah etwas pikante informationen

      du warst schon auf einem guten weg.
      ich habe die einzelnen aufgaben in einzelne funktionen gepackt
      und noch einen useragent-header hinzugefügt, so das der abruf auch so aussieht wie von einem browser
      darüber hinaus habe ich noch geburts und sterbedatum mit in die infos mit reingepackt.
      die bilder habe ich zu einem array gemacht, da es manchmal auch mehrere anzeigen zu einem namen gibt
      den namen habe ich nicht aus dem bild genommen, da es nicht immer ein bild gibt

      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
          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("page "+i); 
          }
      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 match = $(".c-blockitem-subtitle").html().match(/\* ([\d\.]+) - † ([\d\.]+)/);
          if (match) {
              return match[1];
          } else {
              return "";
          }
      }
      //sterbedatum ermitteln
      function getDeath(data) {
          const $ = cheerio.load(data);
          let match = $(".c-blockitem-subtitle").html().match(/\* ([\d\.]+) - † ([\d\.]+)/);
          if (match) {
              return match[2];
          } 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
              }
          });
       
          return response.data;
        } catch (error) {
          console.error('Fehler Abruf Seite: '+page, error);
          return 0;
        }
      
      }
      
      main();
      
      
      

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

      David G.D 2 Antworten Letzte Antwort
      1
      • OliverIOO OliverIO

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

        ah etwas pikante informationen

        du warst schon auf einem guten weg.
        ich habe die einzelnen aufgaben in einzelne funktionen gepackt
        und noch einen useragent-header hinzugefügt, so das der abruf auch so aussieht wie von einem browser
        darüber hinaus habe ich noch geburts und sterbedatum mit in die infos mit reingepackt.
        die bilder habe ich zu einem array gemacht, da es manchmal auch mehrere anzeigen zu einem namen gibt
        den namen habe ich nicht aus dem bild genommen, da es nicht immer ein bild gibt

        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
            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("page "+i); 
            }
        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 match = $(".c-blockitem-subtitle").html().match(/\* ([\d\.]+) - † ([\d\.]+)/);
            if (match) {
                return match[1];
            } else {
                return "";
            }
        }
        //sterbedatum ermitteln
        function getDeath(data) {
            const $ = cheerio.load(data);
            let match = $(".c-blockitem-subtitle").html().match(/\* ([\d\.]+) - † ([\d\.]+)/);
            if (match) {
                return match[2];
            } 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
                }
            });
         
            return response.data;
          } catch (error) {
            console.error('Fehler Abruf Seite: '+page, error);
            return 0;
          }
        
        }
        
        main();
        
        
        
        David G.D Online
        David G.D Online
        David G.
        schrieb am zuletzt editiert von
        #13

        @oliverio

        Danke, morgen Abend kann ich es bei mir testen.
        Den ganzen Tag auf Messe.

        Zeigt eure Lovelace-Visualisierung klick
        (Auch ideal um sich Anregungen zu holen)

        Meine Tabellen für eure Visualisierung klick

        1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

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

          ah etwas pikante informationen

          du warst schon auf einem guten weg.
          ich habe die einzelnen aufgaben in einzelne funktionen gepackt
          und noch einen useragent-header hinzugefügt, so das der abruf auch so aussieht wie von einem browser
          darüber hinaus habe ich noch geburts und sterbedatum mit in die infos mit reingepackt.
          die bilder habe ich zu einem array gemacht, da es manchmal auch mehrere anzeigen zu einem namen gibt
          den namen habe ich nicht aus dem bild genommen, da es nicht immer ein bild gibt

          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
              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("page "+i); 
              }
          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 match = $(".c-blockitem-subtitle").html().match(/\* ([\d\.]+) - † ([\d\.]+)/);
              if (match) {
                  return match[1];
              } else {
                  return "";
              }
          }
          //sterbedatum ermitteln
          function getDeath(data) {
              const $ = cheerio.load(data);
              let match = $(".c-blockitem-subtitle").html().match(/\* ([\d\.]+) - † ([\d\.]+)/);
              if (match) {
                  return match[2];
              } 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
                  }
              });
           
              return response.data;
            } catch (error) {
              console.error('Fehler Abruf Seite: '+page, error);
              return 0;
            }
          
          }
          
          main();
          
          
          
          David G.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von
          #14

          @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

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          OliverIOO 1 Antwort Letzte Antwort
          0
          • David G.D David G.

            @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

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #15

            @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

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

            David G.D 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @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.D Online
              David G.D Online
              David G.
              schrieb am zuletzt editiert von
              #16

              @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: []
              

              Zeigt eure Lovelace-Visualisierung klick
              (Auch ideal um sich Anregungen zu holen)

              Meine Tabellen für eure Visualisierung klick

              OliverIOO 1 Antwort Letzte Antwort
              0
              • David G.D David G.

                @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: []
                
                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #17

                @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();
                
                

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

                David G.D 1 Antwort Letzte Antwort
                0
                • OliverIOO 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.D Online
                  David G.D Online
                  David G.
                  schrieb am zuletzt editiert von
                  #18

                  @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: []
                  

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • David G.D David G.

                    @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: []
                    
                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von OliverIO
                    #19

                    @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

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

                    David G.D 1 Antwort Letzte Antwort
                    0
                    • OliverIOO 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.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von
                      #20

                      @oliverio

                      So ist es bei mir:

                      drop.gif

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • David G.D David G.

                        @oliverio

                        So ist es bei mir:

                        drop.gif

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von OliverIO
                        #21

                        @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();
                        
                        

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

                        David G.D 1 Antwort Letzte Antwort
                        0
                        • OliverIOO 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.D Online
                          David G.D Online
                          David G.
                          schrieb am zuletzt editiert von David G.
                          #22

                          @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.

                          Zeigt eure Lovelace-Visualisierung klick
                          (Auch ideal um sich Anregungen zu holen)

                          Meine Tabellen für eure Visualisierung klick

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • David G.D 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.

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von
                            #23

                            @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.

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

                            David G.D 1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @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.D Online
                              David G.D Online
                              David G.
                              schrieb am zuletzt editiert von
                              #24

                              @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>
                              

                              Zeigt eure Lovelace-Visualisierung klick
                              (Auch ideal um sich Anregungen zu holen)

                              Meine Tabellen für eure Visualisierung klick

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • David G.D David G.

                                @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>
                                
                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von
                                #25

                                @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();
                                
                                
                                

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

                                David G.D 1 Antwort Letzte Antwort
                                0
                                • OliverIOO OliverIO

                                  @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.D Online
                                  David G.D Online
                                  David G.
                                  schrieb am zuletzt editiert von
                                  #26

                                  @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: []
                                  

                                  Zeigt eure Lovelace-Visualisierung klick
                                  (Auch ideal um sich Anregungen zu holen)

                                  Meine Tabellen für eure Visualisierung klick

                                  OliverIOO 1 Antwort Letzte Antwort
                                  0
                                  • David G.D David G.

                                    @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: []
                                    
                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von
                                    #27

                                    @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

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

                                    David G.D 1 Antwort Letzte Antwort
                                    0
                                    • OliverIOO OliverIO

                                      @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.D Online
                                      David G.D Online
                                      David G.
                                      schrieb am zuletzt editiert von
                                      #28

                                      @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 🤣

                                      Zeigt eure Lovelace-Visualisierung klick
                                      (Auch ideal um sich Anregungen zu holen)

                                      Meine Tabellen für eure Visualisierung klick

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • David G.D David G.

                                        @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 🤣

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        schrieb am zuletzt editiert von OliverIO
                                        #29

                                        @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();
                                        
                                        
                                        

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

                                        David G.D 1 Antwort Letzte Antwort
                                        0
                                        • OliverIOO 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.D Online
                                          David G.D Online
                                          David G.
                                          schrieb am zuletzt editiert von David G.
                                          #30

                                          @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)
                                          

                                          Zeigt eure Lovelace-Visualisierung klick
                                          (Auch ideal um sich Anregungen zu holen)

                                          Meine Tabellen für eure Visualisierung klick

                                          OliverIOO 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          317

                                          Online

                                          32.8k

                                          Benutzer

                                          82.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe