September 28, 2006

釣られた。Services_KakakuCom

ダメだ。WebService::KakakuCom価格.com API for rubyに完全に釣られた。そして、書いている最中に価格.com Parser作った に先を越された。つーか、みんな超弩級なスピードだな。

確かに「価格.com Parserを作った」はPHPなスクリプトであるわけだが、私の方はPHP5版ってことで。つーわけで、書いてみた。日本のサイトなので、PEARにはあげるつもりはない。日本PHP会が作る?PEARチャンネルサーバに載せることはありだなー。つか、かなり適当なので、修正する箇所大有り。。。初期の予定のException使ってねーじゃん。。。orz。

今回は、さらに釣られてTDDで書いてみようと思ったわけだが、今回はパス。ユニットテストは好きなのだが、横着な私が出てきてしまったので。

タイポ指摘

a.リクエストURL
http://api.kakaku.com/Ver1/ItemSerach.asp?パラメータ名=パラメータ値・・・

って。。。Searchだろ。。リクエストURL間違えてどうする。

というわけで、当分ここに置いておく。後でインタフェースは変えると思うけど、とりあえず。
pear コマンドでインストールできるよ。
$ pear install http://www.unchiku.com/Services_KakakuCom-0.1.0.tgz
ダウンロードするときは、下のリンクで、よろしこ。
Services_KakakuCom-0.1-0.tgz

インストールは、Projects at GANCHIKU.com を見てください。ブログのリンクは古くなるので、0.1.0はそのうち消すと思います。

サンプルは、こんな感じで。

<?php
require_once ‘Services/KakakuCom.php’;

try {
    $kakakucom = new Services_KakakuCom;
    
$searchResult $kakakucom->search(array(‘Keyword’ => ‘コンピュータ’‘ResultSet’ => ‘mini’));
    
$number = (string)$searchResult->NumOfResult;
    print 
“Number: {$number}\n”;
    foreach (
$searchResult->xpath(‘//Item’) as $item) {
        
$productID[] = (string)$item->ProductID;
    }
    
$productResult $kakakucom->product(array(‘ProductID’ => $productID‘ResultSet’ => ‘mini’));
var_dump($productResult);
} catch (
Services_KakakuCom_Exception $e) {
    print 
$e;
}
?>

つーか、遊んでいる場合じゃないな。。。現実逃避してすいません。。。。文章書くよりプログラム書いている方が楽しいんだもん。。。明日の仕事大丈夫かな。眠いぞ。。。


上にあるexampleのタイポ報告がありました。どうもありがとうございます。時期バージョンでは、反映させますので、よろしくお願いします。

トラックバックありがとうございます!
自分のはURL投げるだけなので、値をセットするところから作るべきだったんですけどね。
スピード重視で前に作ったのを流用してしまいました。

で、タイポ指摘
$ pera install http://www.unchiku.com/Services_KakakuCom-0.1.0.tgz
pearでございます

Comment by arisawa — September 28, 2006

お。私もタイポしてた。。。指摘どうもありがとうございます。

Comment by shin — September 28, 2006

はじめまして、みなさん本当に早いですね。

価格.com API JSONP
http://jsonp.yatena.com/

APIの結果をJSONP形式で出力して、Ajaxで利用したり、ブログに貼れるようにしたサービスを公開しました。
是非ご覧下さい。

Comment by Yatena — September 28, 2006

Yatenaさん。
JSONPですか。最近、他のことでちょっと調べてましたー。
しかし、Yatenaさんも速いですねー。

arisawaさん。
タイポ指摘どうもです。自分もしっかりしないとなー。これからバージョンをあげていきますよー。リンクもしているし、ネタもかぶっているのですが、secondlifeさんには、トラックバック、拒否られましたw イマイチトラックバックの方法については、よくわかんないです。

しかし、このスピード感のある開発がWeb2.0ってやつかなーなんて思ってみました。というか、最近、一人じゃ追い付いていない。。。会社とは関係のないことをプライベートでやっているので。

Comment by shin — September 29, 2006

こんばんわ
拒否られましたかw なんでだろ?

>しかし、このスピード感のある開発がWeb2.0ってやつかなーなんて思ってみました。というか、最近、一人じゃ追い付いていない。。。会社とは関係のないことをプライベートでやっているので。

わたくしも似た境遇です。会社の意向とは違う方向に進んでしまっております…
お互いがんばりましょう!

Comment by arisawa — September 29, 2006

[…] 釣られた。Services_KakakuCom at GANCHIKU.com(PHP5) curl必要、キャッシュ機能にはPEARのCache_Lite必要。 […]

Pingback by using API; 価格.com APIのライブラリが続々 — September 29, 2006

arisawaさん
もしかしたら、私のピンのトラックバックの打ち方かもです。URL間違えたかも。でも、面倒なので、次は打たないです。

そうですよねー。私がプライベートでやっているYouTubeも、Seleniumも、KakakuComも一度も会社では使ったことがないです。。まぁ、だからがんばれるって感じがするんですけどねw

そうれす。お互いがんばりましょー!

Comment by shin — September 29, 2006

Services_Hatenaとかもあるしpear.php.netでもいいかも!!

Comment by ELF — October 2, 2006

ELFさん

どもですー。
そうですね。考えてみます。ローカルでテスト等をして、いけそうだったら、pear-devに一度流してみます。そして、そこで「オーケー」のサインが出たら、出してみます。

Comment by shin — October 3, 2006

Leave a comment

Bloglines feedburner