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