価格.com WEBサービス(API)を使おう

January 12th, 2011

DEMO

「価格.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
    );
}
?>

DEMO

January 12th, 2011