11 my $url = 'http://www.wetter.at/wetter/oesterreich/tirol/obsteig';
12 my $response = HTTP::Tiny->new->get($url);
14 # don't die. the server returns 500 _and_ a valid content.
15 # die "Failed to get '$url'.\n" unless $response->{success};
17 my $body = $response->{content};
20 process "div.dayInfo", "dayInfo" => "TEXT";
21 process "span.sunUp", "sunUp" => "TEXT";
22 process "span.sunDown", "sunDown" => "TEXT";
23 process "div.boxNow", "boxNow" => scraper {
24 process "div.title", "title" => "TEXT";
25 process "div.temp", "temp" => "TEXT";
26 process "div.icontext", "icontext" => "TEXT";
27 process "div.rain", "rain" => "TEXT";
32 my $res = $s->scrape($body);
34 my $timeregexp = qr/^.*?([0-9:]+).*?$/;
36 ( my $date = $res->{dayInfo} ) =~ s/^.*, (\d+)\.(\d+)\.(\d+)$/$3-$2-$1/;
37 ( my $time = $res->{boxNow}->{title} ) =~ s/$timeregexp/$1/;
38 ( my $sunup = $res->{sunUp} ) =~ s/$timeregexp/$1/;
39 ( my $sundown = $res->{sunDown} ) =~ s/$timeregexp/$1/;
40 ( my $temp = $res->{boxNow}->{temp} )
41 =~ s/Â?°//; # real °, and "something" before?!
42 my ( $weather, $clouds )
43 = $res->{boxNow}->{icontext} =~ m|^([\w\s]+)\((\d+)% .*$|;
45 = $res->{boxNow}->{rain} =~ m|Niederschlag: (.+)Wind: (.+)|;
47 say 'Wetter in Obsteig (von wetter.at)';
48 say '---------------------------------';
51 say "Sonne↑:\t$sunup";
52 say "Sonne↓:\t$sundown";
56 say "Wetter:\t$weather";
57 say "Bewölk:\t$clouds%";
60 say "$date;$time;$sunup;$sundown;$temp;$rain;$wind;$weather;$clouds";
66 wetter.at.pl - show weather information about Obsteig from wetter.at
68 =head1 COPYRIGHT AND LICENSE
70 Copyright 2017-2018, gregor herrmann <gregor@toastfreeware.priv.at>
72 Released under the same terms as Perl 5.