Hatena::ブログ(Diary)

naoyaのはてなダイアリー

September 27, 2006

WebService::KakakuCom

本日、価格.com WEBサービスの第一弾として、価格.comから商品検索とアイテム情報取得用のAPIと、食べログ.comから、レストラン情報を取得するAPIを一般公開しました。

今回のリリースでは、ユーザやアプリケーション登録が必要ありません。是非気軽にお試し下さい。

価格.com WEBサービス

なんかウェブサービスがいろいろリリースされる季節ですね。ということで気軽に試してみましたよッ!

昨日の RakuAPI のとコードが相当似てる。

NAME
    WebService::KakakuCom - Handle WebAPI of KakakuCom

SYNOPSIS
        use WebService::KakakuCom;

        my $api = WebService::KakakuCom->new;

        my @results = $api->search('VAIO');
        print $_->ProductName, "\n" for @results;

        $api->debug(1);
        $api->ie('utf8'); # for icode of Jcode
        my $rs = $api->search(
            'VAIO',
            { CategoryGroup => 'Pc', SortOrder => 'daterank', PageNum => 2 }
        );
        for (@$rs) {
            print $_->ProductID;
            print $_->ProductName;
            print $_->CategoryName;
            print $_->MakerName;
            print $_->ImageUrl;
            print $_->ItemPageUrl;
            print $_->BbsPageUrl;
            print $_->ReviewPageUrl;
            print $_->LowestPrice;
            print $_->NumOfBbs;
            print $_->ReviewRating;
        }

        my $pager = $rs->pager; # Data::Page
        print $pager->total_entries;
        print $pager->entries_on_this_page;
        ...

        my $product = $api->product($ProductID);
        print $product->ProductID, "\n";
        ...

DESCRIPTION
    Kakaku.com WebAPI from http://apiblog.kakaku.com/ (in Japanese)

FUNCTIONS
  ua
    Returns an User-Agent instance.

  search
    Returns search resulset.

  product
    Returns an object of product.

WARNING
    This module is in beta version. Object interface it provides may be
    changed later.

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

SEE ALSO
    * http://apiblog.kakaku.com/KakakuItemSearchV1.0.html
    * http://apiblog.kakaku.com/KakakuItemInfoV1.0.html

COPYRIGHT & LICENSE
    Copyright 2006 Naoya Ito, all rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

こっちはオフィシャルなAPIだしドキュメントもうちょい書いて CPAN に up する...かも。

なお、http://apiblog.kakaku.com/KakakuItemSearchV1.0.html のリクエストURLが typo ってるのと、http://apiblog.kakaku.com/KakakuItemInfoV1.0.html に "Midium" という typo がありました。

追記

0.02 に update しました。

  • ページャ回りの処理にバグがあったので直しました。
  • 01-methods.t に use strict がなかったので追記しました。

トオルスガルモノノトオルスガルモノノ 2006/09/27 21:43 http://trac.bloghackers.net/browser/lib/perl/WebService-KakakuCom/trunk/t/01-methods.t
に use strict がないっす

YatenaYatena 2006/09/28 11:51 早速API叩いてみました http://jsonp.yatena.com/ CPAN公開是非お待ちしております。

YatenaYatena 2006/09/28 11:53 ちなみに結果をJSONPで出力してjavascriptから呼んだだけです。

naoyanaoya 2006/09/28 12:04 へいー、今日中に up しまっす。

naoyanaoya 2006/09/28 16:50 CPAN up しときました。数時間後にはインデクシングされると思います。

YatenaYatena 2006/09/29 15:08 早速公開していただきありがとうございました。
昨日の応用で食べログも叩いてみました。
http://jsonp.yatena.com/tabelog/
WebService::Tabelogもちょっと変えれば作れそうです。
それにしてもnaoyaさんのコードはいつ見ても勉強になります。

nonamenoname 2006/10/02 00:32 これ、UserAgent 名って正しく設定されています?
WebService::KakakuCom->ua() 内で
sprintf の format が正しくなさそうに見えますが...

実行していないので間違っていたらすみません。

naoyanaoya 2006/10/03 01:21 お、ども。0.05 にして CPAN に up りました。 > User-Agent