たたみラボ

  • about
  • member
  • r&d
  • blog
  • tatamicast

blog

RSS

カーセンサーAPIを触ってみる

icon June 28, 2006 6:52 PM by yuugo このエントリーを含むはてなブックマーク

山本ゆうごです。

Mash Up Awardネタでは、じゃらん系が多いので、別のAPIも触ってみたいと思います。

今回はカーセンサーAPIを触ってみます。以下、 開発スタイルを含めて解説してみたいと思います。

まずはいきなり動かしてみる

カーセンサーAPIはRESTなので、普通にブラウザからのGETメソッドでXMLが帰ってきます。このことを利用して、 プログラムを作る前に、動作確認するためだけのHTMLフォームを作ってみます。こういうことができるのがRESTのいいところです。

カタログサーチ<br>
<form action="http://www.carsensorlab.net/webapi/V1/catalogSearch/">
<input type="text" name="word">
<input type="submit" name="検索">
</form>
中古車サーチ<br>
<form action="http://www.carsensorlab.net/webapi/V1/usedCarSearch/">
<input type="text" name="word">
<input type="submit" name="検索">
</form>

上記のHTMLソースでフォームを作ったのがこれです。

カタログサーチ

中古車サーチ

ともにフリーワード検索なので、何か入れてサブミットしてみてください。そうするとブラウザにXMLが帰ってきます。 このXMLをうーんってみて、「何が出来るかなぁ」と思いをはせます。もちろんここでAPIレファレンスを見るとなおよいです。

なんとなくAJAXで次々に見れるUIを考える

どうやらわんさか画像が見れるということなので、AJAXで大量のデータを次々見れるUIを目指します。 帰ってきたXML中の画像リンクをたどるとまぁまぁ大きな画像でした。AJAXがクライアントで動作するとはいえ、 直接ブラウザから別サイトにHTTPリクエストは遅れないので、同一ドメインのサーバサイドには、 Webサービスに対して「踏み台」 となるためのCGIが必要です。

PerlスクリプトでカーセンサーAPIにアクセスしてみる

まだ、本物のCGIは作らずに、単体のPerlでカーセンサーAPIにアクセスしてみます。以下、考えたのはこれだけの機能。

  1. カーセンサーWebサービスにGETでXMLを取得
  2. XMLをPerlのオブジェクトツリーに変換
  3. PerlのオブジェクトツリーをJSONに変換
  4. 3を出力

ちょうど1と2を一気にやってくれるライブラリがありました。Kawa.netさんの、XML::TreePPモジュールです。 PuerPerlで書かれており、XMLをパースした後もUTF8フラグがつかないので、かなり「期待通り」に動いてくれる代物です。

それで作った動作確認スクリプトがこれです。

use strict;
use XML::TreePP;
use JSON;

my $tpp = XML::TreePP->new();
my $tree = $tpp->parsehttp("GET","http://www.carsensorlab.net/webapi/V1/usedCarSearch/?word=%E3%83%AC%E3%82%AF%E3%82%B5%E3%82%B9");

my $js = objToJson($tree);
print $js;

これをコマンドライン上で流すと動作確認ができます。サンプルでは「レクサス」を検索しています。 先のフォームで投げたGETメソッドをそのまま動作確認に使っています。 XML::TeePPもJSONも標準モジュールではありませんので、CPANからダウンロードしてください。

ここまでの動作確認はWindowsPCでも出来る

このレベルの「ちょこっと触る」のにはCGIが動くWebサーバは要らず、 WindowsとActivePerlの組み合わせで十分動作します。

TreePPもJSONもActivePerlには標準ではついてきませんが、ともにPurePerlなので、 pmを見えるところに置いておけば、動くはずです。

とはいえ、私はWindowsでもCPANモジュールをダウンロードして入れています。

WindowsでのCPANモジュールのインストール例

  1. tar.gzをLhazのような解凍ソフトで解凍
  2. MakeFile.plを実行
  3. namake
  4. nmake test
  5. nmame install

という手順です。意味はあまり分かっていません。nmakeというのはMSが配布しているmakeです。MSのダウンロードサイトからダウンロードできます。

だいぶ話がそれましたが、こんな感じで次回もすすめていきたいと思います。

ページトップへ



(C) RECRUIT MEDIA COMMUNICATIONS CO., LTD.