※2006/06/19追記:現時点ではAmazonの仕様が変更して下記のスクリプトは使えませんので、最新版に関してはこちらの記事からダウンロードしてください。
タブブラウザSleipnir用のAmazonアソシエイトタグ作成スクリプトです。画像やタイトルだけでなく、作者名・出版社名・値段・発売日・メディアなども取得できるようになっています。XSLTファイルを別途用意する必要がありますが、デザイン・取得項目などにかなり幅が持たせられるかと思います。
なお、金子 順氏のG-Toolsと、ダダ氏のAmazon-AssociateImg.jsを参考にさせていただきました。ありがとうございます。
まず、JSソースとデザイン用のXSLTファイルの圧縮ファイルをダウンロードしてください。中に二つ三つのファイル*1が入っていると思います。AmazonTag.jsはSleipnir用スクリプトで、amazon.xsl amz.xsl *2はデザイン用に使うXSLTファイルです。詳しいことは後述します。
コレを使おうって方ならアソシエイトIDはすでにもたれていると思いますが、持ってない方は日本Amazonサイトから取得しておいてください。
その次にディベロッパートークン(今では登録IDと呼ばれています)が必須です。ひとつのディベロッパートークンにつき一日あたりの使用限度回数などがあるので、ご自身のトークンを取得されてください。アソシエイトIDとは別サービスになりますので、アメリカAmazonサイトから所得してください。英語のページですけれど、問題なくすぐに取得できると思います。注意するところと言えば、郵便番号は7桁でなくハイフン付きの8桁にする必要がある、ってことくらいでしょうか。
この次が鬼門なんですが、出力したい項目・デザインをXSLTで表記して、そのファイルを任意のサイトにアップロードする必要があります。XSLT?って方は金子 順氏の解説を読まれてみてください。アマゾンのXMLからどのような項目が取得できるのかはこちらを参考にして、自分用のXSLTファイルに追記したりしてみてください。
一から作るのは面倒って方はさっきダウンロードした圧縮ファイルの中のXSLTファイルをご自身のサイトなどにアップロードして使ってみてください。ただし、アソシエイトIDのところと直接商品画面にリンクするかどうか*3の部分だけは書き換えた方がいいでしょう。
XSLTファイルをほぼそのまま使うのなら、CSSにも手を加えておいたほうがいいでしょう。参考までに当サイトでの設定を書いておきます。*4
.amz { clear: none; line-height: 150%; text-align: left; width: 485px; padding: 15px 15px 15px 15px; border: 1px solid #CCCCCC; font-size: 0.85em; background: #ffffff url(./img/parts/amazon5.gif) no-repeat right bottom; } .amzimg { float : left; margin-right: 15px; } .amzend { CLEAR: both; }
あとはスクリプトソースの上の方にある、アソシエイトID、ディベロッパートークン(登録ID)、XSLTファイル設置URLをご自身のものに書き換えてください。アクセス過多を避けるためにも、当サイトのXSLTファイルに直接アクセスするのは控えてください。
あとはAmazonの商品詳細ページを開いて、スクリプトを実行。 新しいウィンドゥが表示され、自動的にクリップボードにタグが作成されますので、記事画面などでペースト操作をすればタグが貼り付けできます。修正したいところは適宜書き直ししてみてください。
ひとつ貼り付け例を掲載しておきます。
デザインが某サイトにそっくりなのは気のせいじゃないです。オマージュということで該当サイトの方には納得していただけると当方とても助かります。
で、貼り付け結果ですが、殆どスクリプト実行後と変わらないものの一箇所だけ変更したところがあります。この作品だと著者欄が作者・訳者と複数になっていますので、訳者だけ消して作者のみ表示させるようにしました。
他に当サイトで手動で修正するパターンとしては、本当に複数の著者がいる場合は間にコンマを入れたり、商品によっては公式サイトへのリンクも追加したり、「コミック名1(1)」みたいな感じで巻数がかぶって書名に出てた場合は削除したり、Amazonに画像が無かったら自前で準備してタグ書き直したり、とかそんな感じです。
あと、この記事では敢えて値段を表示していますが、自分が普段表示させる分には値段のところを出さないようにXSLTファイルを変更しました(配布している圧縮ファイルの中のXSLTファイルには記述されたままです)。消費税が変更される可能性のことを考えると、ちょっと困ったことになりそうですしね。消費税総額表示とか法律で決まってなければ、Amazonも本体価格と税とで別に項目を用意してくれたりしたんでしょうけれど。*5
ご自身用にXSLTファイルを書き換えるのであれば、手動でのタグ書き直しが少なくなるようにXSLTファイルに条件分岐を追加したりして工夫すると、ワンクリックだけで作業が終わって楽が出来ると思います。
※2006/04/18追記:今まではSleipnir2.XXシリーズでは使えなかったのですが、以下の修正をすれば2.XXでも使えるようになります。
while(pnir.IsBusy(nid)){ ↓ while(pnir.IsBusy(nid) || pnir.GetDocumentObject(nid) == null){
今回の修正についてはSleipnirスクリプトBBSにて教えていただきました。ありがとうございます。詳しい解説はこちらをどうぞ。
- 注1 : 2005/04/25追記:新しくamz.xslを入れたので3個に増えました
- 注2 : 2005/04/25追記:古いXSLTファイルのamazon.xslではなく、新しいXSLTファイルのamz.xslを使った方が便利です。前回からの変更点はこちらの記事に書いてあります。
- 注3 : /ref=nosim/を付けると直接商品へリンクし、そうでないと関連商品の一覧に飛びます。
- 注4 : 2005/04/27追記:以前はXSLTファイルでは最後に中身が空のamzendというクラスのDIV要素を記述してCSSでクリア設定をつけていたんですが、その代わりにBRタグにamzendクラスを記述させました。
- 注5 : 表に出してないだけで内部的にはあったりするかもしれないですけどね。もしくはSOAPリクエストなら取得できるとかだったらいいですが、そのあたりは未確認です。
コメント