今日の六曜を画像表示するマッシュアップ
2011-04-11-1
[Programming][WebAPI]
WebAPIを使って今日の六曜を画像表示する仕掛けを作りました。「旧暦を取得する Web API」とこのブログではお馴染みの「Google Chart API」を組み合わせました。
こんな感じでその日の六曜が出ます。
旧暦APIから今日の六曜をゲットして、その文字列(大安、仏滅、友引など)を Google Chart API の Dynamic Icons で画像化しているだけです。旧暦APIは個人で提供されているものなのでアクセスしすぎには注意です。下記のコードでは簡単なキャッシュで一日一回のアクセスとしています(なおキャッシュはときどき掃除した方が良いです)。
■コード(ry.cgi):
■設置例:
こんな感じでその日の六曜が出ます。
- 旧暦を取得する Web API
http://api.sekido.info/qreki?output=usage - Dynamic Icons - Google Chart Tools / Image Charts (aka Chart API) - Google Code
http://code.google.com/apis/chart/docs/gallery/dynamic_icons.html
旧暦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">
この記事に言及しているこのブログ内の記事