たつをの ChangeLog : 2006-10-21

楽天市場非公式ウェブサービス RakuAPI (http://rakuapi.ddo.jp/)
を操作するPerlモジュール、Asamasi::RakuAPI を作ってみました。
使用は自己責任で。

- Asamasi::RakuAPI
  http://ta2o.net/tools/pm/src/Asamasi-RakuAPI-0.1.tar.gz

同様のものは、すでに id:naoya による Webservice::RakuAPI
(http://d.hatena.ne.jp/naoya/20060926/1159263533) があります。
ただ、Net::Amazon [2006-10-17-2]みたいに Cache::File を渡して中で
キャッシュできるようにしたかったので、自分用モジュールとして車輪の
再発明。あと、RakuAPI からは XML ではなく TSV をもらってくるように
して、処理を単純化しています。入出力は utf8 です。

以下、SYNOPSISとサンプルプログラムを載せておきます。

SYNOPSIS:
use Asamasi::RakuAPI;
my $ar = Asamasi::RakuAPI->new(affiliate_code => $acode);
my $results_ref = $ar->search({key => $key, row => 3});
for (@{$results_ref}) {
  print $_->{Title}, $_->{Url}, ...
}

# "Cache::File" も使えます。
use Cache::File;
my $cache = Cache::File->new(cache_root => "/var/tmp/cache",
                             default_expires => '48 hours');
my $ar = Asamasi::RakuAPI->new(cache => $cache,
                               affiliate_code => $acode);

サンプルプログラム:
#!/usr/bin/perl -T
use strict;
use warnings;
use Cache::File;
use HTML::Template;
use CGI;
use Asamasi::RakuAPI;

my $q = CGI->new();
my $key = $q->param('key') || "";
my $acode = $q->param('acode') || "YOUR_AFFILIATE_CODE";

my $cache_root_root = "/var/tmp/cache";
my $cache_rakuapi =
    Cache::File->new(cache_root => $cache_root_root."/rakuapi",
                     lock_level => Cache::File::LOCK_LOCAL(),
                     default_expires => '48 hours');

my $araku = Asamasi::RakuAPI->new(cache => $cache_rakuapi,
                                  affiliate_code => $acode);

my $results_ref = $araku->search({key => $key, row => 3});

my $template = join("", <DATA>);
my $t = HTML::Template->new(scalarref => \$template,
                            die_on_bad_params => 0);
$t->param(results => $results_ref);

print $q->header(-charset => 'UTF-8'), $t->output();

__DATA__
<TMPL_LOOP name=results>
<div class="araku-item">
<TMPL_IF name=ThumbnailUrl><a href="<TMPL_VAR name=Url>" target="_blank"
title="<TMPL_VAR name=Title>"><img class="araku-image"
src="<TMPL_VAR name=ThumbnailUrl>" alt="<TMPL_VAR name=Title>"></a></TMPL_IF>
<span class="araku-title"><a href="<TMPL_VAR name=Url>" target="_blank"
title="<TMPL_VAR name=Title>"><TMPL_VAR name=Title></a></span>
<span class="araku-price"><TMPL_VAR name=Price></span>
<span class="araku-tax"><TMPL_VAR name=Tax></span>
<span class="araku-shop"><a href="<TMPL_VAR name=ShopUrl>" target="_blank"
title="<TMPL_VAR name=ShopName>"><TMPL_VAR name=ShopName></a></span>
</div>
</TMPL_LOOP>

実行結果(key=fujitsu):
実行結果
この記事に言及しているこのブログ内の記事

前々から気になっていたクラッシュルマンドを食べてみました。
赤い箱はチョコレート。紫っぽい箱はリッチミルクチョコレート。
後者は普通のルマンドの味ですね[2006-02-19-4]

画像画像

結論は、「クラッシュルマンドも悪くない(つかかなり良い)けど、
やっぱ普通のルマンドの方が好みであります!」ということで。

ルマンド関連記事:
- [を] ブルボン四姉妹[2006-07-06-2]
- [を] ルマンド、ちょっとだけ大人買い[2006-02-21-5]
- [を] ルマンド好き![2006-02-19-4]

20:30 からひがし健康プラザの地下プールへ行って泳ぎました。
前回泳いだのは[2006-10-17-5]でした。

ところで、ここのプールって、かかってる音楽がなぜか90年モノ。
この前は、華原朋美とか Globe とかが延々と。
今日は、ひたすら大黒摩季。謎です。
この記事に言及しているこのブログ内の記事

レトルトで「本日のスープカレーのスープ」というのがあったので、
スープカレーを作ってみました。
「お好みの具材とあわせるだけ!」とのことで具材のみ調理。
具材はベーコンとシシトウとニンジンです。
ししとうは実家のやつ[2006-10-15-3]
にんじんはレンジで下ごしらえ。
これらを合わせて炒めて、
これまたレンジで暖めたスープカレーのスープとあわせてできあがり。
うん、これはおいしいです。超満足。

画像画像

オフィシャルサイト:
- 本日のスープカレーのスープ
  http://www.soupcurry.jp/pc/

大泉洋プロデゥース 本日のスープカレーのスープ

たつをの ChangeLog
Powered by chalow