sironekotoroの日記

Perl で楽をしたい

Perl で気象庁の非公式 API を叩いて天気情報を取得する

長いこと無料で天気情報APIを提供してくれていた Livedoor Weather さんがサービスを終えて以来、お手軽に利用できる天気情報APIがなかったのですが、最近こんなツイートを見かけました。

気象庁が提供する API ?非公式とはいえ、公式中の公式ともいえる気象庁が!

そして、それを受けて "やじうまの杜" さんが記事にしてくれました。

forest.watch.impress.co.jp

早速、 Perl で使ってみようというわけです。

#!/usr/bin/env perl
use strict;
use warnings;

use HTTP::Tiny;
use JSON qw/decode_json/;

my $ht = HTTP::Tiny->new();
my $res = $ht->get("https://www.jma.go.jp/bosai/forecast/data/overview_forecast/130000.json");

my $content = $res->{content};
my $decoded_json = decode_json($content);

print $decoded_json->{headlineText};

# 伊豆諸島南部では強風に、伊豆諸島、小笠原諸島では高波に、東京地方では空気の乾燥した状態が続くため、火の取り扱いに注意してください。

おおー、あっさり。

このスクリプトPerl 入学式の内容に以下を加えた内容です。

  • モジュールの使い方
  • リファレンスから情報を取り出す方法

エンドポイントが https なので、環境構築としては、SSL のライブラリとモジュールが必要です。