目的

Amazonの商品ページを開いて、そこからなるべく少ないステップでブログエントリに貼り付けるアフリエイト用パーツを取得できるようにする。



やったこと

  1. ASINなどを与えるとその商品の情報を取得し整形して表示するプログラムを作成
  2. Amazonの商品ページでアフリエイト用パーツを取得するBookmarkletを作成



1. ASINなどを与えるとその商品の情報を取得し整形して表示するプログラム

大体次のような感じ。
  • PHPベース
  • フレームワークはSymfony
  • PEAR::Services_Amazonを使用

【メモ】 PEAR::Services_Amazonを使って商品情報を取得(署名認証対応) - nplll

サービスURLはこんな感じ。

  • http://amazon.nplll.com/asin/[Amazon ASIN] → 特定の商品の情報を表示する

あ、一応オープンになってますが、あくまで自分向けなので突然サービス終了することもありますし、
アフリエイトIDを追加することも出来ません。



2. Amazonの商品ページでアフリエイト用パーツを取得するBookmarklet

AmazonのページからASINを抜き出して整形するBookmarklet

javascript:function%20getID(id){return%20document.getElementById(id);};var%20u=location.href,d=/(http:\/\/www\.amazon\.(com|co\.jp))/;if(u.match(d)){t=getID("btAsinTitle").innerHTML;r2=RegExp.$2;if(r2=="co.jp")l="amazon.jp/dp/";else%20if(r2=="com")l="amzn.com/";else%20exit();l='<iframe%20width="600"%20height="320"%20frameborder="0"%20scrolling="no"%20class="amazonProduct"%20src="http://amazon.nplll.com/asin/'+getID("ASIN").value+'"></iframe>';prompt("%E3%80%8C"+t+"%E3%80%8D",l);void(0);}

例えばこのページで実行すると↓

Amazon.co.jp: THE BEST OF スチャダラパー1990~2010: スチャダラパー: 音楽

こんなのが取れます。↓

<iframe width="600" height="320" frameborder="0" scrolling="no" class="amazonProduct" src="http://amazon.nplll.com/asin/B002ZFSASW"></iframe>

実際の表示はこんな感じ↓