Hier kommt ein weiteres Skript zum Thema Wettervorhersage. Es wird folgendes benutzt wetter.com :: Api :: Übersicht
Es ist ein Benutzerkonto bei wetter.com notwendig, dort kann man sich ein Projekt anlegen und dann den API-Key erzeugen. Beides in das Skript eingetragen und den City-Code, fertig.
Es ist ein Benutzerkonto bei wetter.com notwendig, dort kann man sich ein Projekt anlegen und dann den API-Key erzeugen. Beides in das Skript eingetragen und den City-Code, fertig.
Code:
# Category=Weather # $Date: 2010/03/11 $ ##################################################################### # NOM : wetter_dot_com.pl # DESCRIPTION : #@ Gets the weather forecast from wetter.com #-------------------------------------------------------------------- # mh variables : # # MH.ini parameters : #-------------------------------------------------------------------- # HISTORY #-------------------------------------------------------------------- # DATE REVISION AUTHOR DESCRIPTION #-------------------------------------------------------------------- # 2010/03/11 0.1 Felix Ueberschaar use vars qw(%Weatherforecast); # noloop=start use strict; use XML::TreePP; use Digest::MD5 'md5_hex'; # noloop=stop if ($New_Hour or $Reread or $Startup) { WetterDotCom(); } sub WetterDotCom { my $sForecastUrl = 'http://api.wetter.com/forecast/weather'; my $sProjectName = 'frellstedt'; my $sApiKey = 'ghtule3b14a2ba1ee8cfef9e800203'; my $sCityCode = 'DE0003037'; # Generieren der Checksumme, muss für jeden City Code neu berechnet werden my $sChecksum = md5_hex($sProjectName . $sApiKey . $sCityCode); my $sSearchUrl .= $sForecastUrl . '/city/' . $sCityCode. '/project/' . $sProjectName. '/cs/' . $sChecksum; my $tpp = XML::TreePP->new(); my $tree = $tpp->parsehttp( GET => $sSearchUrl ); my $Code; # <du> UTC Zeit (Unix Timestamp) # <d> Lokale Zeit (Unix Timestamp) # <dhu> UTC Zeit (ISO 8601) # <dhl> Lokale Zeit (ISO 8601) # <p> Gueltigkeitszeitraum der Prognose # <w> Code fuer den Wetterzustand # <pc> Niederschlagswahrscheinlichkeit in % # <tn> Minimaltemperatur in Grad Celsius # <tx> Maximaltemperatur in Grad Celsius # <wd> Windrichtung in Grad # <ws> Windgeschwindigkeit in km/h # <w_txt> Wetter in Textform # <wd_txt> Windrichtung Text $Weatherforecast{City} = $tree->{city}->{name}; # Wetter heute # Morgens - Bezugszeit 06:00 - 11:00 $Weatherforecast{WeatherTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{w_txt}; $Weatherforecast{TempMinTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{tn}; $Weatherforecast{TempMaxTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{w}; $Weatherforecast{IconTodayMorning} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{pc}; $Weatherforecast{WindForceTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{ws}; $Weatherforecast{WindDirectionTodayMorning} = $tree->{city}->{forecast}->{date}->[0]->{time}->[0]->{wd}; # Mittags - Bezugszeit 11:00 - 17:00 $Weatherforecast{WeatherTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{w_txt}; $Weatherforecast{TempMinTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{tn}; $Weatherforecast{TempMaxTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{w}; $Weatherforecast{IconTodayNoon} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{pc}; $Weatherforecast{WindForceTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{ws}; $Weatherforecast{WindDirectionTodayNoon} = $tree->{city}->{forecast}->{date}->[0]->{time}->[1]->{wd}; # Abends - Bezugszeit 17:00 - 23:00 $Weatherforecast{WeatherTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{w_txt}; $Weatherforecast{TempMinTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{tn}; $Weatherforecast{TempMaxTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{w}; $Weatherforecast{IconTodayEvening} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{pc}; $Weatherforecast{WindForceTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{ws}; $Weatherforecast{WindDirectionTodayEvening} = $tree->{city}->{forecast}->{date}->[0]->{time}->[2]->{wd}; # Nachts - Bezugszeit 23:00 - 06:00 $Weatherforecast{WeatherTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{w_txt}; $Weatherforecast{TempMinTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{tn}; $Weatherforecast{TempMaxTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{w}; $Weatherforecast{IconTodayNight} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{pc}; $Weatherforecast{WindForceTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{ws}; $Weatherforecast{WindDirectionTodayNight} = $tree->{city}->{forecast}->{date}->[0]->{time}->[3]->{wd}; # Wetter morgen # Morgens - Bezugszeit 06:00 - 11:00 $Weatherforecast{WeatherTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{w_txt}; $Weatherforecast{TempMinTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{tn}; $Weatherforecast{TempMaxTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{w}; $Weatherforecast{IconTomorrowMorning} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{pc}; $Weatherforecast{WindForceTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{ws}; $Weatherforecast{WindDirectionTomorrowMorning} = $tree->{city}->{forecast}->{date}->[1]->{time}->[0]->{wd}; # Mittags - Bezugszeit 11:00 - 17:00 $Weatherforecast{WeatherTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{w_txt}; $Weatherforecast{TempMinTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{tn}; $Weatherforecast{TempMaxTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{w}; $Weatherforecast{IconTomorrowNoon} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{pc}; $Weatherforecast{WindForceTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{ws}; $Weatherforecast{WindDirectionTomorrowNoon} = $tree->{city}->{forecast}->{date}->[1]->{time}->[1]->{wd}; # Abends - Bezugszeit 17:00 - 23:00 $Weatherforecast{WeatherTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{w_txt}; $Weatherforecast{TempMinTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{tn}; $Weatherforecast{TempMaxTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{w}; $Weatherforecast{IconTomorrowEvening} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{pc}; $Weatherforecast{WindForceTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{ws}; $Weatherforecast{WindDirectionTomorrowEvening} = $tree->{city}->{forecast}->{date}->[1]->{time}->[2]->{wd}; # Nachts - Bezugszeit 23:00 - 06:00 $Weatherforecast{WeatherTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{w_txt}; $Weatherforecast{TempMinTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{tn}; $Weatherforecast{TempMaxTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{w}; $Weatherforecast{IconTomorrowNight} = (substr($Code,0,1)); $Weatherforecast{ChanceRainTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{pc}; $Weatherforecast{WindForceTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{ws}; $Weatherforecast{WindDirectionTomorrowNight} = $tree->{city}->{forecast}->{date}->[1]->{time}->[3]->{wd}; # Wetter Uebermorgen # Morgens - Bezugszeit 06:00 - 11:00 $Weatherforecast{WeatherSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{w_txt}; $Weatherforecast{TempMinSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{tn}; $Weatherforecast{TempMaxSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{w}; $Weatherforecast{IconSecDayMorning} = (substr($Code,0,1)); $Weatherforecast{ChanceRainSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{pc}; $Weatherforecast{WindForceSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{ws}; $Weatherforecast{WindDirectionSecDayMorning} = $tree->{city}->{forecast}->{date}->[2]->{time}->[0]->{wd}; # Mittags - Bezugszeit 11:00 - 17:00 $Weatherforecast{WeatherSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{w_txt}; $Weatherforecast{TempMinSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{tn}; $Weatherforecast{TempMaxSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{w}; $Weatherforecast{IconSecDayNoon} = (substr($Code,0,1)); $Weatherforecast{ChanceRainSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{pc}; $Weatherforecast{WindForceSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{ws}; $Weatherforecast{WindDirectionSecDayNoon} = $tree->{city}->{forecast}->{date}->[2]->{time}->[1]->{wd}; # Abends - Bezugszeit 17:00 - 23:00 $Weatherforecast{WeatherSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{w_txt}; $Weatherforecast{TempMinSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{tn}; $Weatherforecast{TempMaxSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{w}; $Weatherforecast{IconSecDayEvening} = (substr($Code,0,1)); $Weatherforecast{ChanceRainSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{pc}; $Weatherforecast{WindForceSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{ws}; $Weatherforecast{WindDirectionSecDayEvening} = $tree->{city}->{forecast}->{date}->[2]->{time}->[2]->{wd}; # Nachts - Bezugszeit 23:00 - 06:00 $Weatherforecast{WeatherSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{w_txt}; $Weatherforecast{TempMinSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{tn}; $Weatherforecast{TempMaxSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{tx}; $Code = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{w}; $Weatherforecast{IconSecDayNight} = (substr($Code,0,1)); $Weatherforecast{ChanceRainSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{pc}; $Weatherforecast{WindForceSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{ws}; $Weatherforecast{WindDirectionSecDayNight} = $tree->{city}->{forecast}->{date}->[2]->{time}->[3]->{wd}; }
Kommentar