Amazonで指定したカテゴリのベストセラー商品を表示

広告

Amazonではベストセラーに関するフィードを配信しています。フィードはカテゴリ毎に配信されていますので、特定のカテゴリのフィードを取得することが可能です。ここではGoogle AJAX Feed APIを使ってAmazonのベストセラー商品を表示する方法について解説します。

1.Amazonのフィード
2.アソシエイトタグの設定
3.サンプル

Amazonのフィードは各ページに掲載されています。例として「本 > 漫画・ラノベ・BL >コミック」のページを見てみます。

p3-1

画面最下部を見て頂くと、このカテゴリに関するRSSフィードのURLが取得できます。

p3-2

このカテゴリのフィードURLは次のようになります。

http://www.amazon.co.jp/gp/rss/bestsellers/books/2278488051/ref=zg_bs_2278488051_rsslink

このフィードのURLに対してGoogle AJAX Feed APIを使いエントリを取得します。

var feedurl = "http://www.amazon.co.jp/gp/rss/bestsellers/books/2278488051/ref=zg_bs_2278488051_rsslink";

var feed = new google.feeds.Feed(feedurl);
feed.setNumEntries(8);
feed.load(function (result){
  /* ... */
});

取得した各エントリの本文の中に商品画像などの情報が含まれています。

Amazonのアフィエイトに参加されている方は、フィードオプションとしてご自分のタグを指定することが可能です。次のようにAmazonのホームページ上で説明されています。

ベストセラーやAmazonランキングを更新する際には、以下のオプションをご利用ください。オプションのパラメータはRSSフィードのURLに追加できます。(例:http://www.amazon.co.jp/rss/bestsellers/books?tag=assoc-tag)

tag - アソシエイト・プログラムの会員の場合、このパラメータをURLの最後に追加すると、アソシエイト・プログラムの紹介料の支払いの対象になります。詳しくはアソシエイト・プログラムをご確認ください。

「tag」パラメータにご自分のアソシエイトIDを指定してフィードを取得すると、取得されたフィードに含まれる各リンクにご自分のアソシエイトIDが設定されます。

例えばアソシエイトIDが「sample-31」だった場合はフィードURLは次のようになります。

http://www.amazon.co.jp/gp/rss/bestsellers/books/2278488051/ref=zg_bs_2278488051_rsslink&tag=sample-31

Amazonのアフィエイトに参加されている方は設定されてみて下さい。

それでは簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>Google AJAX Feed API テスト</title>

<style type="text/css">
#feed div{
  margin-right:30px;
}

#feed li{
  margin-bottom:20px;
}
</style>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="./js/script3_1.js"></script>

</head>
<body>

<p>Google AJAX Feed API テスト</p>
<div id="feed"></div>

</body>
</html>
google.load("feeds", "1");

function initialize() {
  var feedurl = "http://www.amazon.co.jp/gp/rss/bestsellers/books/2278488051/ref=zg_bs_2278488051_rsslink&tag=sample-31";
  var feed = new google.feeds.Feed(feedurl);
  feed.setNumEntries(8);

  feed.load(function (result){
    if (!result.error){
      var container = document.getElementById("feed");
      var htmlstr = "";
      htmlstr += "<p>[タイトル]" + result.feed.title + "</p>";

      htmlstr += "<ul>";
      for (var i = 0; i < result.feed.entries.length; i++) {
        var entry = result.feed.entries[i];

        htmlstr += "<li>"
        htmlstr += entry.content;
        htmlstr += "</li>"
      }
      htmlstr += "</ul>";

      container.innerHTML = htmlstr;
    }else{
      alert(result.error.code + ":" + result.error.message);
    }
  });
}

google.setOnLoadCallback(initialize);

上記を実際にブラウザ見てみると次のように表示されます。

p3-3

このようにAmazonのベストセラー情報をフィードで取得しWebページに表示することが可能です。(ただ表示方法をカスタマイズしようとすると色々面倒ではあります)。またリンク先を確認してみると、指定したアソシエイトタグが設定されていることが確認できます。

( Written by Tatsuo Ikura )