RakuAPI

「RakuAPI」は、キーワードに合った楽天市場商品情報を返す、アマゾンでいうAmazon ECSのようなものです。楽天市場とは関係ないアンオフィシャルなウェブサービスです。
 楽天市場の商品をキーワードやジャンルで絞り込み、XML/RSSやTSVなどのデータとして取得することができます。また、楽天アフィリエイトアフィリエイト・コードを指定することでアフィリエイトリンクURLを返すことができます。

うほ、これはアグレッシブな。そうかあ...ということで、ひまつぶしに

を作りました。テスト書いてないけど。SYNOPSYS は

my $api = Webservice::RakuAPI->new;
$api->decamelize_accessors(1);

printf "%s\n", $_->url for $api->search('Core 2 Duo');

という感じ。 実行すると、

http://item.rakuten.co.jp/ebest/4905524351569/
http://item.rakuten.co.jp/akindo/vgc-la70b/
http://item.rakuten.co.jp/plusyu/macbook-good/
http://www.rakuten.co.jp/maido/506196/1078740/#1024257
http://item.rakuten.co.jp/ebest/4547597524213/
http://www.rakuten.co.jp/maido/506196/1066765/#1010183
http://item.rakuten.co.jp/ebest-outlet/4905524351569/
http://www.rakuten.co.jp/mikasacamera/100076/126549/154166/#169540
http://www.rakuten.co.jp/maido/860672/862052/871337/#806265
http://item.rakuten.co.jp/ebest/4547597537770/

となりました。あとは POD 見てください。使用は自己責任で。CPAN にはうpりません。

NAME
       Webservice::RakuAPI - Handle RakuAPI with Perl

SYNOPSIS
           use Webservice::RakuAPI;

           my $api = Webservice::RakuAPI->new;
           $api->affiliate_code('...');
           $api->debug(1);
           $api->decamelize_accessors(1);

           my @results = $api->search('Core 2 Duo');
           print $_->title, "\n" for @results;

           my $results = $api->search('Core 2 Duo', { genre => 'book', row => 10 });
           for (@$results) {
               print $_->title;
               print $_->price;
               print $_->url;
               print $_->thumbnail_url;
               print $_->shop_name;
               print $_->tax;
               print $_->shop_url;
           }

DESCRIPTION
       RakuAPI (http://rakuapi.ddo.jp/)

FUNCTIONS
       ua

       Returns an User-Agent instance.

       search

       Returns search result objects.

AUTHOR
       Naoya Ito, "<naoya at bloghackers.net>"

String::CamelCase を使ってみたかっただけなんです、すいません。アーカイブhttp://bloghackers.net/~naoya/lib/perlmodules/Webservice-RakuAPI-0.01.tar.gz に。