Ver.1.21 [楽天売上ランキング自動配信CGI]
【旧バージョン:SSI表示タイプ】
動作サンプル・・・このサイトの各カテゴリ・アーカイブのサイドバーで使用しています。
動作の流れは下記の通りです。
- 楽天のランキング市場にソケット接続し、任意のジャンルのランキングを取得する。
- ランキングに表示されている各商品のアフィリエイトタグを生成する。
- 生成したタグをランキングの順位通りに自サイトの任意の場所に表示する。
これらの動作を自動的に行いますので、広告タグを貼り替える作業を省略できますし、現在売れているものをリアルタイムに表示できますので、売上アップにも効果が期待できます。
ソケットによる外部接続可能なサーバーでないと動作しません。
表示にはSSIを使用していますので、表示させたいページの拡張子を「.shtml」にするなどの対応が必要です。
また、A8.net経由の楽天アフィリエイト専用です。
まだA8.netに登録していない方は下記リンクから登録してください。
A8.net![]()
出力文字コードを選択できますので、UTF-8で書かれたMovable Type上はもちろん、Shift_JISで書かれたページでも動作します。
なお、Perlによるソケット接続についてはASHさんのサイトを参考にさせていただきました。
では、設置方法を説明します。
まずは下記ファイルをダウンロードしてください。
rakuten_rank121.zip
解凍してでてきたファイルの中の、「rakuten_rank.cgi」をテキストエディタで開きます。
※EUC対応のエディタを使用してください。
ファイルを開いたら、順番に設定個所を書き換えていきます。
まずは、perlパスを設置するサーバーの設定に合わせて書き換えてください。
1行目:
#!/usr/local/bin/perl
続いて、ランキング市場から表示させるジャンルのページを選び、そのURLを記入します。
20行目:
#楽天ランキングのURL
$rank_url = 'http://event.rakuten.co.jp/ranking/hobby/101182.html' ;
A8.netのテキストリンク生成ページを開き、どんな商品でも良いので適当な商品で一つリンクを生成してみます。
すると、下記のようなリンクが出来上がります。
<a href="http://px.a8.net/svt/ejp?a8mat=IJ4IF+D8ASQA+5WS+C1DUQ&a8ejpredirect=http%3A%2F%2Fwww.rakuten.co.jp%2Flvv%2F1192356%2F1193055%2F1193968%2F%23874293" target="_blank">さつま島美人 1800ml</a><img border="0" width="1" height="1" src="http://www14.a8.net/0.gif?a8mat=IJ4IF+D8ASQA+5WS+C1DUQ" alt="">
上記ソースの中の、「a8mat=**************」の「***」があなた専用のa8mat(テキスト)となります。
これをコピーし下記個所で設定します。
23行目:
#a8mat(テキスト)
$a8mat_text = 'IJ4IF+D8ASQA+5WS+C1DUQ' ;
同様に、A8.netの画像付きリンク生成ページでリンクを生成します。
画像リンクは下記のようになります。
<a href="http://px.a8.net/svt/ejp?a8mat=IJ4IF+D8ASQA+5WS+BWVTD&a8ejpredirect=http%3A%2F%2Fwww.rakuten.co.jp%2Flvv%2F1192356%2F1193055%2F1193968%2F%23874293" target="_blank"><img border="0" alt="" src="http://image.rakuten.co.jp/wshop/data/ws-mall-img/lvv/img64/img10352106726.jpeg"></a><img border="0" width="1" height="1" src="http://www19.a8.net/0.gif?a8mat=IJ4IF+D8ASQA+5WS+BWVTD" alt="">
テキストリンクと同じように、上記ソースの中のあなた専用のa8mat(画像)である、「a8mat=**************」の「***」をコピーし、下記個所で設定します。
26行目:
#a8mat(画像)
$a8mat_image = 'IJ4IF+D8ASQA+5WS+BWVTD' ;
ランキングのうち、何位までの商品を表示するか設定します。
最大30位まで設定できますが、あまり多くすると表示にかなり時間がかかります。
29行目:
#何位まで表示するか(最大30)
$max_rank = 5 ;
最後に、文字コードの出力形式を設定します。
Movable Typeを使ってる人は「utf8」、Shift_JISのページ内で使う場合は「sjis」といったように設定します。
32行目:
#出力文字コード(UTF-8なら'utf8'、Shift_JISなら'sjis'、EUCなら'euc')
$code = 'utf8' ;
※Jcode.pmがインストールされていないサーバー上でShift_JISやEUCで出力させる場合は、別途jcode.plを入手し、以下のように書き換える必要があります。
13行目の
use Jcode;
を
require './jcode.pl' ;#パスは適宜変更
に変更し、72行目の
$j = Jcode->new($print, 'euc')->$code;
を
$j = &jcode::$code($print);
に変更
設定が終わったら、rakuten_rank.cgiを適当なディレクトリにアップしパーミッションを「755」にします。
表示させるページの任意の場所に下記タグを書けば設置完了です。
※rakuten_rank.cgiまでのパスは適宜変更してください。
<!--#exec cgi="./rakuten_rank.cgi"-->
なお、見た目の変更はスタイルシートを使って下記クラスを設定することで可能です。
ランキング表示全体:rakuten-ranking
ランキングの画像部分:rakuten-ranking-img
また、Perlの構文が分かる人は、52~65行目あたりを適当に変更してください。
ただし、著作権表示部分については絶対に削除したり改変したりしないでください。
【更新履歴】
Ver.1.00 2005/07/20 初版公開
Ver.1.01 2005/07/28 「No Picture」の画像をうまく取得できていなかったのを修正
Ver.1.10 2005/09/01 楽天の仕様が変更されたので対応
Ver.1.11 2005/09/07 リダイレクトリンク先取得部分の不具合と、商品名表示の不具合を修正
Ver.1.20 2005/10/23 一部ジャンルの仕様変更に対応
Ver.1.21 2005/12/13 楽天の仕様が変更されたので対応