Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

Asamasi Hacks: 他人のアサマシリンクを友人・知人の ID 付きリンクに書き換えてみる実験

世の中、右を見ても左を見てもアマゾンアソシエイト ID の付加されたリンクだらけ。そんなにしてまでジャリ銭が欲しいのか…なんとアサマシいことだ…と嘆く……ことなどまったくなく、むしろ対抗して、「どうせなら御世話になってるあのひとの ID 経由で買いたいものだよなぁ」とやはり思うわけですから、ASIN 情報だけいただいて ID 書き換えちゃったらもしかして友人・知人を利することができてしまうのかな? どうなのかな? という学術的好奇心を以って、アマゾンアサマシリンクをあらかじめ指定した ID 付きリンクへと書き換えちゃうユーザジャバスクリプトを書いてみる実験を行ってみました。あくまでも実験です。例によって Firefox によるものですが。

んで、コード自体は、単にパターンにマッチするリンクをちょろっと書き換えるだけなので簡単なのですが、ユーザ定義の JavaScript をページのロード時に自動的に実行するやりかたがわからない…。そこでググりまくったところ、「Linkage Note!: ユーザージャバスクリプトを可能にする拡張」にて、User Script なる拡張があることを知ったので、それを利用してちとやってみた。以下、この実験の手順を、なにかの参考になるかもしれないので公開しておきます。

  1. User Script をインストール
  2. いったんブラウザを落とし、プロファイルディレクトリ下の chrome ディレクトリ内に、"userScript.js" というファイルを作成
  3. userScript.js に下記の通りコードを書き、友人・知人等の ID を記入して保存
  4. ブラウザを起動してあちこちまわってみると、リンクが自動的に書き換えられていることが確認できます

userScript.js

/**
 * アサマシリンクを指定した ID に変換
 *
*1130666127*/

// アソシエイト ID を設定
var id = new Array(
  'anotale-22',
  'nomusinolife-22',
  'sonatazivenet-22'
);

var l = document.links;

for (var i = 0; i < l.length; i++) {
  if (l[i].href.match(/^(http:\/\/www\.amazon\.co\.jp\/exec\/obidos\/ASIN\/[0-9A-Z]+\/).*$/)) {
    var j = Math.floor(Math.random() * id.length);
    l[i].href = RegExp.$1 + 'ref=nosim/' + id[j];
  }
}
|<<