Tarzanで作るWebサービス 第8回 < キーワードで商品を検索する >
今まではitem_lookupを用いてASIN(Amazonの商品管理番号)を元に、特定の商品情報を取得してきました。
今回はitem_lookup関数から離れてitem_search関数を使用してみましょう。
item_search関数はキーワードやカテゴリ情報を指定することにより、複数の商品情報を取得することができます。
はじめにカテゴリ情報を指定して、情報を取得してみましょう。
サンプル8A
↓サンプルのソースコードです。
<?php
require_once('tarzan/tarzan.class.php');
header('Content-type: text/html; charset=utf-8');
$aaws = new AmazonAAWS();
$opt['ResponseGroup'] = 'Small,Images';
$opt['SearchIndex'] = 'Books';
$opt['BrowseNode'] = '466282';
$res = $aaws->item_search(null,$opt, AAWS_LOCALE_JAPAN);
print "This is Test<br>\n";
print "ビジネス書<br />\n";
print "<table border=1>";
print "<tr><td>ASIN</td><td>Title</td></tr>";
for($i=0;$i<count($res->body->Items->Item);$i++){
print "<tr>";
print "<td><a href=" . $res->body->Items->Item[$i]->DetailPageURL . ">";
print "<img src=" . $res->body->Items->Item[$i]->SmallImage->URL . "></a></td>";
print "<td>" . $res->body->Items->Item[$i]->ItemAttributes->Title . "</td>";
print "</tr>";
}
print "</table>";
//以下はデバッグ用です
print "<br />";
print "<br />";
print "<br />";
print "<br />";
print "<hr>---------------以下はvar_dumpの結果です---------------<br />";
print "<pre>";
var_dump($res);
print "</pre>";
?>
↓今回の主な変更点です。
$opt['SearchIndex'] = 'Books';
$opt['BrowseNode'] = '466282';
$res = $aaws->item_search(null,$opt, AAWS_LOCALE_JAPAN);
デフォルトでは、指定したカテゴリの人気上位10件の消費情報が取得できます。
指定したカテゴリは「ビジネス・キャリア」です。
各カテゴリには固有の値が割り振られている為、この番号を指定します。
各カテゴリがどのような値であるかは、↓のサイトが参考になると思います。
「ビジネス・キャリア」でしたら番号は「466282」ですね。
http://www.goodpic.com/mt/archives2/2004/10/amazon_ecs_401.html
次にキーワードを指定して商品情報を取得してみましょう。
サンプル8B
↓サンプルのソースコードです。
<?php
require_once('tarzan/tarzan.class.php');
header('Content-type: text/html; charset=utf-8');
$aaws = new AmazonAAWS();
$opt['ResponseGroup'] = 'Small,Images';
$res = $aaws->item_search("ねこ",$opt, AAWS_LOCALE_JAPAN);
print "This is Test<br>\n";
print "<table border=1>";
print "<tr><td>ASIN</td><td>Title</td></tr>";
for($i=0;$i<count($res->body->Items->Item);$i++){
print "<tr>";
print "<td><a href=" . $res->body->Items->Item[$i]->DetailPageURL . ">";
print "<img src=" . $res->body->Items->Item[$i]->SmallImage->URL . "></a></td>";
print "<td>" . $res->body->Items->Item[$i]->ItemAttributes->Title . "</td>";
print "</tr>";
}
print "</table>";
//以下はデバッグ用です
print "<br />";
print "<br />";
print "<br />";
print "<br />";
print "<hr>---------------以下はvar_dumpの結果です---------------<br />";
print "<pre>";
var_dump($res);
print "</pre>";
?>
指定したキーワードは「ねこ」です。ねこ関連の商品がリストアップされていますね。
item_search関数の第1引数に検索したいキーワードを指定します。
このように、カテゴリやキーワードを組み合わせることにより、自分の好みの商品情報を取得します。
組み合わせ方によっては、対象となる商品が全然見つからないなんてこともありますので、注意しましょう。
例えば、「料理」のカテゴリに「PHP」なんてキーワードは似つかわしくありませんよね?
これまで、item_lookup関数とitem_search関数を使ってきましたが、よく使うことになるのはこの二つの関数でしょう。 ここまでくれば、あとはアイデア次第で大抵のことはできると思います。 色々なアイデアで面白いアプリを作ってみましょう。
| 固定リンク

コメント