2014-03-25   amazon 

アマゾン・アソシエイトID(アフィリエイト用のID)を含んだ商品URLを生成する秀丸マクロ

先日の版を、/dp/, /ASIN/, /product/ でも動くようにしたものです。

// amazon.mac
// アマゾンの商品URLがクリップボードに入っている状態で起動すると、
// アソシエイトIDを含んだ商品URLとはてなのasin記法を生成して秀丸エディタに挿入する秀丸マクロ。
// クリップボードのURLの形式は、
//      …/dp/XXXXXXXXXX/…
//      …/ASIN/XXXXXXXXXX/…
//      …/product/XXXXXXXXXX/…
// という形式を想定している。

// My associate amazon id.
$id = "hyuki-22";

// Get a string in the clipboard.
beginclipboardread;
$url = getclipboard;

// Check patterns.
if (strstr($url,"/dp/") != -1) {
    #pos = strstr($url,"/dp/") + 4;
} else if (strstr($url,"/ASIN/") != -1) {
    #pos = strstr($url,"/ASIN/") + 6;
} else if (strstr($url,"/product/") != -1) {
    #pos = strstr($url,"/product/") + 9;
} else {
    #pos = -1;
}

// Compose an insert string.
if (#pos == -1) {
    $s = "ERROR: /dp/XXXXXXXXXX/ is not found in clipboard.\x0D\x0A";
} else {
    $asin = midstr($url, #pos, 10);
    $s =  "http://www.amazon.co.jp/exec/obidos/ASIN/" + $asin + "/" + $id + "/" + "\x0D\x0A"
        + "asin:" + $asin + ":detail:large" + "\x0D\x0A";
}

// Insert it.
insert $s;

インストール方法

実行方法

入力例:コピーした元URL(『数学ガール』の例)

http://www.amazon.co.jp/%E6%95%B0%E5%AD%A6%E3%82%AC%E3%83%BC%E3%83%AB-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797341378

出力例:秀丸にペーストされる文字列

http://www.amazon.co.jp/exec/obidos/ASIN/4797341378/hyuki-22/
asin:4797341378:detail:large
 2014-03-25   amazon