ぱんぶろ

パンジーの「いいね!」ブログ

「Amazon API」の使い方を紹介します!最安値やランキング取得できるよ⑤-リクエスト結果(XML)の表示-

      2016/03/30  

amazon_api_24

前回で、
リクエストURLを作成して結果を受け取ることができるようになりました。
(⇒「Amazon API」の使い方を紹介します!最安値やランキング取得できるよ④-リクエストURLの作成(PHP)と結果(XML)の確認-

今回は、取得した結果(XML)から値を取得してHTML形式で表示させます。

スポンサード リンク

リクエスト結果(XML)の表示

XMLから値を取得するのも、PHPには関数が用意されているので、
それを使えば簡単に行うことができます。

「simplexml_load_string()」という関数ですね。
では、早速コードを見ていきましょう。

$amazon_xml=simplexml_load_string(file_get_contents(********));
foreach($amazon_xml->Items->Item as $item) {

	$item_title = $item->ItemAttributes->Title; // 商品名
	$item_url = $item->DetailPageURL; // 商品へのURL
    	$item_price = $item->OfferSummary->LowestNewPrice->FormattedPrice; // 商品の価格
    	
    	echo "<p><a href=\"" . $item_url . "\" target=\"_blank\">" . $item_title . "</a><br>";
    	echo $item_price. "</p>";
}

1行目の「file_get_contents」の引数にリクエストURLを入れる

1行目のアスタリスク(*)の部分にリクエストURLを入力してください。
前回(⇒「Amazon API」の使い方を紹介します!最安値やランキング取得できるよ④-リクエストURLの作成(PHP)と結果(XML)の確認-)作成したリクエストURLを入れてみましょう。

前回のと組み合わせるのであれば、
「$base_request」を引数として入れてあげて、
上のソース全体を、98行目の下に入れてやるといいかと思います。
(ItemSearch関数の最後)

実行してみると、以下のような表示になります。
amazon_api_27

表示形式は、XMLから取得した値をHTMLのタグに入れているだけなので、
好きな形に変えることができます。

簡単にXMLの読み方の説明

たぶん初めて見た人には、
1行目から6行目が分かりにくいかと思うので、ちょっとだけ説明します。
(イメージレベルですが。。。)

1行目でXMLの全体のオブジェクトを取得しているイメージ。
(ルート階層を持っているイメージ?)

2行目の「$amazon_xml->Items->Item」が何を指しているかと言うと、
ルート(「ItemSearchResponse」)階層の子階層の「Items」。
「Items」階層の子階層の「Item」を指しています。
amazon_api_28

数えてもらうと分かりますが、
パラメーターで指定しない限りは、「Item」はデフォルトで10個あります。

こいつらを全部読み込ますためにforeachで回してあげてるんですね。

4行目から6行目は、
各「Item」のさらに下の階層から値を取得している感じです。

例えば、4行目の「$item->ItemAttributes->Title」であれば、
「Item」の子階層の「ItemAttributes」の子階層の「Title」の値を取得しています。

今回は商品名、商品URL、価格の3つの値だけを取得していますが、
XMLに書かれている情報は、上で説明したのと同じようにすれば取得できるので、

欲しいデータがあれば、ガンガン取得しちゃいましょう。

まとめ

リクエスト結果(XML)の表示についてでした。
XMLのソースと見比べながらやれば、そんなに難しくないとは思います。

次回は、リクエストURLを送る際のパラメーターについて紹介していきます。

Amazonから取得した情報を内容を色々と設定することができます。
今のままだと画像とか取得できてないですからね・・・。

第1回:アソシエイトタグの取得
第2回:アクセスキーとシークレットキーの取得
第3回:リクエストURL作成の概要
第4回:リクエストURLの作成(PHP)と結果(XML)の確認-
第5回:リクエスト結果(XML)の表示
第6回:パラメーターの種類とか
最終回:実際に作ってみよう