ヤフオクのAPIを叩いてみた

Yahoo!デベロッパーズネットワークにてヤフオクAPIが公開されたので叩いてみた。

DsLiteチェッカー

ニンテンドーDS」のカテゴリーから終了直前の200件を取得して、「lite」「ライト」で絞り込んだ結果を一覧にしています。APIを一度叩くと指定条件にマッチする50件のデータが返ってきますが、検索語を指定することができない仕様なので、50件ずつ4回に分けて取得した後で自前で絞り込んでいます。PHP5.1.2でやる場合のキモの部分だけソース解説。

$query = 'http://api.auctions.yahoo.co.jp/AuctionWebService/V1/CategoryLeaf?appid=YahooDemo&category=2084056539&sort=end';
$article = simplexml_load_string(file_get_contents($query));
$attr = $article->attributes();

クエリ指定して、それをsimplexmlでパース。出品数やカテゴリ名などの基本情報を$attrに取り込んでいます。$attrには出品数やページ情報が入ります。$attrに入っているページ数を取得して、その分だけAPIを叩いてやれば全件取得も出来ますが、さすがに重すぎたのでやめました。
とりあえず200件程度が妥当な線と判断して、forで普通に回して後はSmartyに配列を投げてHTML生成。かなり簡単です。

特定の出品者の出品リストを取得することもできるので、こうしたチェッカーの以外にも、自分の出品リスト一覧をページに貼り付けることもできます。パッと思い浮かぶ活用法としてはこの2種類ぐらいでしょうか。自分のサイトやブログに貼り付ける、認証を通した非公開なマイページに貼り付けるなどの使い方が想定されます。後は、何らかの統計を取ってグラフ化するといった用途でしょうか。検索後の指定ができればもう少し広がるような気がしますが、現状だと何百件か取得すると結構時間がかかってしまうのでやや微妙かな。AJAXで非同期に取得して、それを随時処理する形にした方が利口かも知れません。