« Tarzanで作るWebサービス 第7回 < 取得する情報をカスタマイズする2 > | トップページ | Tarzanで作るWebサービス 第9回 < 他のAPIとの組み合わせ > »

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関数を使ってきましたが、よく使うことになるのはこの二つの関数でしょう。 ここまでくれば、あとはアイデア次第で大抵のことはできると思います。 色々なアイデアで面白いアプリを作ってみましょう。

|

« Tarzanで作るWebサービス 第7回 < 取得する情報をカスタマイズする2 > | トップページ | Tarzanで作るWebサービス 第9回 < 他のAPIとの組み合わせ > »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/539585/46858610

この記事へのトラックバック一覧です: Tarzanで作るWebサービス 第8回 < キーワードで商品を検索する >:

« Tarzanで作るWebサービス 第7回 < 取得する情報をカスタマイズする2 > | トップページ | Tarzanで作るWebサービス 第9回 < 他のAPIとの組み合わせ > »