affiliate アフィリエイト

Amazonのaffiliate program(アソシエイトとアマゾンでは呼ぶ)
はとても面白い。なんていうかこれを利用してサイトを作ろうとすると
おもしろみが増してきてはまってしまう。

 アマゾンの画像取得については色々なページがあるんだけど、
javascriptでやってしまうのが当初一番簡単だと思われた。
手動でやるのならこれでもうまくいくのだが、

掲示板方式でwebに来る人たちが参加して自分のお薦めを
登録するページを作りたかったため、
・日本盤の場合
・輸入盤の場合
・画像データがない場合 → no-imageと表示させたい
・日本盤と輸入盤が両方ともある場合
と4つの場合があり、場合分けしてもなかなかうまくいかない。
さらに、画像をコピーしないでリンクすると、
amazonのサーバが遅いので表示に時間がかかったり。

そこで、cgiをいじって、やってみたのが下。
こんな風に表示できる
wgetを使って画像をいったんディレクトリに保存し、
それを読み込むことで表示させてみた。

C言語初級しか受けていないので、かなり手探りでした。すいません。

# imageディレクトリに画像が既に取得済みかチェック
if (-f "./image/ASIN.09.TZZZZZZZ.jpg"){
   $imageurl = "./image/$ASIN.09.TZZZZZZZ.jpg";
} elsif (-f "./image/ASIN.01.TZZZZZZZ.jpg"){
   $imageurl = "./image/$ASIN.01.TZZZZZZZ.jpg";
} elsif (-f "./image/$ASIN.dat"){
   $imageurl = "./image/no-image.jpg";
} else {   #新規画像ゲット開始
   system ("wget -nc -P image -q http://images-jp.amazon.com/images/P/$ASIN.09.TZZZZZZZ.jpg"); # 日本盤取得
   $imageurl = "./image/$ASIN.09.TZZZZZZZ.jpg";
      if (-s "./image/$ASIN.09.TZZZZZZZ.jpg" == 807){ # 日本盤がデータ無し
         system ("wget -nc -P image -q http://images-jp.amazon.com/images/P/$ASIN.01.TZZZZZZZ.jpg"); # 輸入盤取得
         $imageurl = "./image/$ASIN.01.TZZZZZZZ.jpg";
         unlink ("./image/$ASIN.09.TZZZZZZZ.jpg") # 無駄データ削除
      }
   if (-s "./image/$ASIN.01.TZZZZZZZ.jpg" == 807){ # 輸入盤がデータ無し
      $imageurl = "./image/no-image.jpg"; 
      open(OUT, "> ./image/$ASIN.dat"); # 画像無し用dat作成
      unlink ("./image/$ASIN.01.TZZZZZZZ.jpg") # 無駄データ削除
   }
}

参考にしたサイト
http://www.geocities.jp/horiuchimasaru/wget.html
http://hail2u.net/blog/coding/air_2.html
http://a-h.parfe.jp/intro.html
http://tohoho.wakusei.ne.jp/wwwcgi.htm

その後、
Amazon XSLTを使用したものの方が遙かにインタラクティブに出来ました。
http://www.j-love.info/ino/archives/000164.html