価格.com WEBサービス(API)を使おう
- January 12th, 2011
「価格.com」が提供するAPIを以前利用したので、忘れないうちにメモをしておきます。
価格.comが提供しているサービス
- 商品検索
- アイテム情報取得(今回利用するサービス)
- プロバイダ検索
- 掲示板情報取得
まずは「価格.com WEBサービス」の登録を行います。登録が完了したら、「アクセスキー」がもらえるので大事にしておきます。
追記:2012年6月末日を以って、サービスの新規受付を終了したみたいです。
アイテム情報取得のXMLデータを取得
指定のURLを打ち込めばXMLが出力されるので、PHPでXMLを取得して処理してます。
<?php $product_id = 'K0000081187,K0000135076'; // 商品ID(カンマ区切りで最大5つまで) $result_type = 'medium'; // mini : medium $api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'; // アクセスキー // アイテム情報取得のURL $url = 'http://api.kakaku.com/WebAPI/ItemInfo/Ver1.0/ItemInfo.ashx' . '?ProductID='. $product_id . '&ResultSet='. $result_type . '&ApiKey='. $api_key; // XMLデータをオブジェクトに変換 $xml = simplexml_load_file($url); ?>
XMLデータの見本
<?xml version="1.0" encoding="utf-8" ?> <ProductInfo> <Item> <ProductID>K0000111484</ProductID> <ProductName>VIERA TH-P42R2 [42インチ]</ProductName> <MakerName>パナソニック</MakerName> <CategoryName>家電>プラズマテレビ</CategoryName> <PvRanking>19</PvRanking> <ImageUrl>http://img.kakaku.com/images/productimage/m/K0000111484.jpg</ImageUrl> <ItemPageUrl>http://kakaku.com/item/K0000111484/</ItemPageUrl> <BbsPageUrl>http://bbs.kakaku.com/bbs/K0000111484/</BbsPageUrl> <ReviewPageUrl>http://review.kakaku.com/review/K0000111484/</ReviewPageUrl> <LowestPrice>129460</LowestPrice> <NumOfBbs>29</NumOfBbs> <ReviewRating>4.00</ReviewRating> </Item> </ProductInfo>
データの整理
上記のXMLデータから必要な情報だけ抜き出し、配列に格納する。
<?php $items = array(); foreach ($xml->Item as $node) { $items[] = array( 'id' => $node->ProductID, // ID 'maker' => $node->MakerName, // メーカー 'name' => $node->ProductName, // 商品名 'price' => $node->LowestPrice, // 最安価格 'url' => $node->ItemPageUrl, // 商品URL 'image' => $node->ImageUrl, // 商品画像URL ); } ?>
- January 12th, 2011