Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

[JavaScript] Asamasi ID Filter

かなりと昔のネタですが、必要があって Greasemonkey スクリプトにしてみたりしたので、ついでに晒し。
なにをやるものかはお察しください。まぁすでに同様のものが作られてると思うけど。

// ==UserScript==
// @name          Asamasi ID Filter
// @namespace  http://antipop.gs/ns/greasemonkey/asamasiidfilter
// @description   convert malicious things to something good
// @include       *
// @exclude       http://www.amazon.co.jp/exec/obidos/tg/browse/-/896244/*
// @exclude       http://www.amazon.co.jp/exec/obidos/tg/browse/-/10667101/*
// @exclude       http://www.amazon.co.jp/exec/obidos/tg/browse/-/927712/*
// ==/UserScript==

(function() {

    var ids = new Array(
        'foo-22',
        'bar-22',
        'baz-22'
    );

    var links   = document.links;
    var pattern = '^http://(www.amazon.co.jp/(exec/obidos/ASIN/|o/ASIN/|gp/product/)|d.hatena.ne.jp/asin/)([^/]+)/?.*';
    var regexp  = new RegExp(pattern, 'i');

    for (var i = 0; i < links.length; i++) {
        if (links[i].href.match(regexp)) {
            links[i].href = new Array(
                'http://www.amazon.co.jp/o/ASIN/',
                RegExp.$3,
                '/ref=nosim/',
                ids[Math.floor(Math.random() * ids.length)]).join('');
        }
    }
})();

以下、追記。
amazon のアダルト商品の個別ページを見る前に表示される「あなたは18歳以上ですか?」画面でのリンクをも書き換えちゃうためにアダルト商品が観られないといわれたので、とりあえず exclude に決め打ちでアダルトカテゴリの URL をつけたして対処。具体的には、以下の箇所。

// @exclude       http://www.amazon.co.jp/exec/obidos/tg/browse/-/896244/*
// @exclude       http://www.amazon.co.jp/exec/obidos/tg/browse/-/10667101/*
// @exclude       http://www.amazon.co.jp/exec/obidos/tg/browse/-/927712/*

上から、DVD・書籍・ソフトウェア。他にアダルト指定のカテゴリってあったっけ?

Greasemonkey Hacks (Hacks)
Greasemonkey Hacks (Hacks)
posted with amazlet on 06.04.17
Mark Pilgrim
Oreilly & Associates Inc (2005/11)