たつをの ChangeLog : 2011-04-11

WebAPIを使って今日の六曜を画像表示する仕掛けを作りました。「旧暦を取得する Web API」とこのブログではお馴染みの「Google Chart API」を組み合わせました。
こんな感じでその日の六曜が出ます。




旧暦APIから今日の六曜をゲットして、その文字列(大安、仏滅、友引など)を Google Chart API の Dynamic Icons で画像化しているだけです。旧暦APIは個人で提供されているものなのでアクセスしすぎには注意です。下記のコードでは簡単なキャッシュで一日一回のアクセスとしています(なおキャッシュはときどき掃除した方が良いです)。

■コード(ry.cgi):
#!/usr/bin/perl -T
use strict;
use warnings;
use LWP::Simple;

my ($sec, $mi, $h, $d, $m, $y) = localtime(time);
$y += 1900;
$m++;

my $aurl = "http://api.sekido.info/qreki?output=xml&year=$y&month=$m&day=$d";
my $cache_fn = "/home/yto/www/yapi/cache/$y-$m-$d.xml"; # mkdir cache
mirror($aurl, $cache_fn) if not -f $cache_fn;

open(my $fh, "<", $cache_fn) or die;
my $data = join("", <$fh>);
close $fh;

my ($rokuyou_text) = $data =~ m{<rokuyou_text>(.+?)</rokuyou_text>};
my $url = "https://chart.googleapis.com/chart?chst=d_fnote_title"
."&chld=pinned_c|2|004400|h|$rokuyou_text|$y%e5%b9%b4$m%e6%9c%88$d%e6%97%a5";

print qq(Location: $url\n\n);

■設置例:
<img src="//yapi.ta2o.net/rokuyou/ry.cgi">


たつをの ChangeLog
Powered by chalow