Ankündigung

Einklappen
Keine Ankündigung bisher.

wetterabhängiges Hintergrundbild

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wetterabhängiges Hintergrundbild

    Guten Tag,

    Ich möchte gerne auf meiner Website je nach Wetterlage ein bestimmtes Hintergrundbild anzeigen lassen. Hab im Internet gestöbert und bin immer wieder auf den Begriff "Wetter API" gestoßen. Jedoch habe ich keine kostenlose Variante gefunden, da (wie immer wieder zu lesen ist) die Google-Weather-API schon geschlossen wurde. Kennt jemand von euch eine kostenlose Variante (für Österreich)?
    meine Theorie dazu: Würde dann den aktuellen Luftdruck auslesen und jeweils einem bestimmten Bereich ein Bild zuordnen. Soweit meine Theorie.

    Kann mir da jemand weiterhelfen?


    Danke im Voraus und
    mfG APH

    komisch: Kaum macht man`s richtig funktioniert`s a scho.


  • #2
    Jedoch habe ich keine kostenlose Variante gefunden
    Die auch nicht? Ich kenn die nicht, aber klingt zumindest so.

    https://www.google.at/search?q=free+...en+weather+api

    LG
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Hallo,
      Habe das gleiche auch schon mal auf einer meiner Seite gemacht.

      Die wetterAPI von Wetter.com ist gut.

      Mfg Kenni

      Kommentar


      • #4
        OpenWeatherMap

        Zitat von APH Beitrag anzeigen
        Würde dann den aktuellen Luftdruck auslesen und jeweils einem bestimmten Bereich ein Bild zuordnen.
        Brauchst du nicht. Die API liefert für jedes Wetter schon ein Bezug auf eine Grafik. Diese musst du nur austauschen.
        PHP-Klassen auf github

        Kommentar


        • #5
          Zitat von SirKenni Beitrag anzeigen
          Hallo,
          Habe das gleiche auch schon mal auf einer meiner Seite gemacht.

          Die wetterAPI von Wetter.com ist gut.

          Mfg Kenni
          Dort steht, dass die kostenlose Variante auf 10.000 Zugriffe/Monat beschränkt ist. -> Reicht das für eine private Website, wenn die API zum Wechsel des Hintergrundbildes (wie in meinem Fall) verwendet werden soll?

          mfG APH

          komisch: Kaum macht man`s richtig funktioniert`s a scho.

          Kommentar


          • #6
            Du fragst uns wie oft deine Seite besucht wird? Hast du keine Statistik / LogFiles? Ansonsten mal schätzen und rechnen.. Kannst ja auch nur alle x Minuten/Stunden etc.. cachen (oder neu abfragen). Nur so als Gedanken, ohne die tech. Details der API zu kennen.

            Übrigens, falls du brauchen kannst: jspit hat sogar eine Cache-Klasse im "Angebot" http://jspit.de/?page=cache

            LG
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Du musst ja nicht bei jedem Nutzer Zugriff auf die Daten der API zurückgreifen. Wenn du z.B. ein Wartungsscript per Cronjob in den Hintergrund legst das im 5 Minuten Takt die Daten der API prüft um dann in deiner eigenen Datenbank eine Information über das zu verwendende Hintergrundbild zu speichern. Alternativ kannst du das Wartungsscript auch in den Index einbinden und einen Timestamp vergleich machen der Prüft ob seit der letzten Ausführung mindestens 5 Min vergangen sind. Damit reduzierst du die Zugriffe noch weiter

              Das Führt dann im schlechtesten Fall zu 60/5 * 24 * 31 = 8928 Zugriffen auf die API im Monat.

              Das geparste Dokument im Cache zu speichern und dem Nutzer eine statische HTML hieraus auszugeben anstatt jedes mal den PHP Code neu zu parsen würde je nach Inhalt der Seite natürlich auch funktionieren.

              Kommentar


              • #8
                Zitat von hausl Beitrag anzeigen
                Du fragst uns wie oft deine Seite besucht wird?
                [...]
                Sorry, da hab ich vor der Fragestellung nicht wirklich nachgedacht.
                Hab aber mal nachgerechnet: Wenn ich die höchstmögliche "Tagesanzahl" nehme (sprich: 31) und 10.000 durch 31 dividiere habe ich eine Besucherzahl von 322/Tag. ... Und ich denke mal, wenn man diese Anzahl für eine Privatwebsite erreicht, ist das schon mal nicht schlecht - oder?

                Zitat von hausl Beitrag anzeigen
                Übrigens, jspit hat sogar eine Cache-Klasse im "Angebot" http://jspit.de/?page=cache

                LG
                Habe ich mir auch angeschaut - vielleicht verwende ich diese Klasse in einem anderen Kontext.


                Danke Hausl;
                mfG APH

                komisch: Kaum macht man`s richtig funktioniert`s a scho.

                Kommentar


                • #9
                  Wenn ich die höchstmögliche "Tagesanzahl" nehme (sprich: 31) und 10.000 durch 31 dividiere habe ich eine Besucherzahl von 322/Tag
                  Vorsicht, die 322 sind keine Besucher sondern Requests. Wenn ein Besucher 10 Seiten "besucht" dann hast du für diesen einen Besucher schon 10 Requests.

                  Ausser du machst es jetzt schon pro Besucher mit Sessions und je Besucher nur ein Request, und dann die weiteren Requests mit Daten aus der Session, dann könnte das hinkommen.
                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Zitat von hausl Beitrag anzeigen
                    Vorsicht, die 322 sind keine Besucher sondern Requests. Wenn ein Besucher 10 Seiten "besucht" dann hast du für diesen einen Besucher schon 10 Requests.

                    Ausser du machst es jetzt schon pro Besucher mit Sessions und je Besucher nur ein Request, und dann die weiteren Requests mit Daten aus der Session, dann könnte das hinkommen.
                    Stimmt, haste Recht.

                    ... Dann werd ich mir den Tipp von unserem Freund im Post #7 zu Herzen nehmen.
                    [...]
                    Alternativ kannst du das Wartungsscript auch in den Index einbinden und einen Timestamp vergleich machen der Prüft ob seit der letzten Ausführung mindestens 5 Min vergangen sind. Damit reduzierst du die Zugriffe noch weiter

                    Das Führt dann im schlechtesten Fall zu 60/5 * 24 * 31 = 8928 Zugriffen auf die API im Monat.
                    [...]
                    Wenn ich alle 15 Min. aktualisiere: 60/15 * 24 * 31 komme ich auf 2976 Zugriffe/Monat


                    Werd aus der Doku von wetter.com nicht ganz schlau:
                    Wie les ich dann die Daten ein? mit readfile('url')?
                    http://at.wetter.com/apps_und_mehr/w...dokumentation/

                    mfG

                    komisch: Kaum macht man`s richtig funktioniert`s a scho.

                    Kommentar


                    • #11
                      Ein Cachen der API-Abfrage von Wetterdaten ist grundsätzlich zu empfehlen, nicht nur aus Zeitgründen. Eine API-Abfrage kann schonmal wenige Sekunden dauern, das ist unschön bei der Seitenaktualisierung. Du mußt auch damit rechnen, das der externe Server mal nicht verfügbar oder überlastet ist. Dann ist es gut, auf eine letzte Abfrage zurückgreifen zu können.
                      Und um Gottes Willen nicht per Cron alle 15 minuten aktualisieren, sondern bei Bedarf!
                      PHP-Klassen auf github

                      Kommentar


                      • #12
                        openweathermaps ist bei 1000 Anfragen/Stunde. Da wirst du selbst, wenn du die unpraktikabelste Variante nimmst, nie hinkommen. Und mit etwas Caching noch weniger.
                        Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

                        Kommentar


                        • #13
                          Wie jspit schreibt ist der Cronjob siehe mein Post oben nur bedingt zu empfehlen, da du vermutlich nicht regelmäßig bzw. durchgängig Besucher auf der Seite hast. Im Ergebnis produzierst du unnötigen Traffic.

                          Also nimm lieber die zweite Variante:

                          Script einbinden am Beginn deiner Seite bzw. einmalig irgendwo klasse/Funktion definieren, vergleiche aktuellen Timestamp mit letzten gespeicherten Timestamp. Wenn alter Timestamp älter als 15 Minuten (beliebig) veränderbar. Dann führe API Call aus, sonst greife auf gespeicherte Informationen zurück.

                          Kommentar


                          • #14
                            Zitat von TessaKavanagh Beitrag anzeigen
                            Wie jspit schreibt ist der Cronjob siehe mein Post oben nur bedingt zu empfehlen, da du vermutlich nicht regelmäßig bzw. durchgängig Besucher auf der Seite hast. Im Ergebnis produzierst du unnötigen Traffic.

                            Also nimm lieber die zweite Variante:

                            Script einbinden am Beginn deiner Seite bzw. einmalig irgendwo klasse/Funktion definieren, vergleiche aktuellen Timestamp mit letzten gespeicherten Timestamp. Wenn alter Timestamp älter als 15 Minuten (beliebig) veränderbar. Dann führe API Call aus, sonst greife auf gespeicherte Informationen zurück.
                            ich meinte eh, dass ich es mit Timestampvergleich machen werde.

                            komisch: Kaum macht man`s richtig funktioniert`s a scho.

                            Kommentar


                            • #15
                              Zitat von APH Beitrag anzeigen
                              Dort steht, dass die kostenlose Variante auf 10.000 Zugriffe/Monat beschränkt ist. -> Reicht das für eine private Website, wenn die API zum Wechsel des Hintergrundbildes (wie in meinem Fall) verwendet werden soll?

                              mfG APH
                              Wenn du die Daten automatisiert jede viertel Stunde am Server zwischenspeicherst kommst du auf etwa 3000 Zugriffe/Monat.

                              Bei jedem Seitenaufruf prüfst du, wann die Daten das letzte mal extern eingelesen wurden. Wenn es länger als 15 Minuten her ist, werden sie erneut eingelesen und gespeichert.
                              .

                              Kommentar

                              Lädt...
                              X