AmazonのアソシエイトIDを無理矢理くっつけて買う方法がまたしてもやりにくくなった

もういたちごっこですなこれは。以前「AmazonのアソシエイトIDを無理矢理くっつけて買う方法がやりにくくなった」というエントリを書いたのですけども、またまたAmazonのURLの仕様が変更になったみたいで、たとえば『はじめてのWiiパック(Wiiリモコン同梱)』であれば、以下のように3タイプのURLが混在するようになっちゃった。どのURLも有効。

  • http://www.amazon.co.jp/exec/obidos/ASIN/B000IN8FQK/
    • 一番古いタイプのURL。通称「ASIN」。すぐ後ろにアソシIDをくっつけることで簡単にアソシエイトなURLが作れた。今も使える。
  • http://www.amazon.co.jp/gp/product/B000IN8FQK/
    • つい最近までよく見かけたURL。通称「product」。?tag=hoge-22を後ろにくっつければOKなのだけど、まずは古いタイプ(「ASIN」)に一度変換してから、後ろにIDをくっつけてすっきりしたアソシエイトなURLを作るという方式が主に取られた。別にどっちでも構わない。
  • http://www.amazon.co.jp/Nintendo-Co-Ltd-193693011/dp/B000IN8FQK/
    • 仕様変更でよく出てくるようになったわけのわからないURL。通称「dp」。検索結果や一覧表示のページなどから飛ぶと、このようなURLになってしまい、今まで使っていたブックマークレットでは歯が立たない。こちらもdp直後のASIN番号の後ろに?tag=hoge-22をくっつければOK。

で、3タイプどれが来てもこれひとつで対応できるっつーブックマークレットを用意しました。つっても他人様の作ったモノをちょちょっと改変しただけなので、偉そうなことは言えません。オリジナルは「コトバノツドイ」のid:tetsu23さんの作です。tetsu23さんは既にASINとproduct両対応のブックマークレットを作成されているのですが、dp対応版がなかったので俺が差し出がましく勝手に改変しましたすいません待ちきれなかったので。このコードのすごいところは、今後また仕様変更があって別の文字列がASIN番号の前に来るようになっても、いくらでも簡単に対応していくことができるところ。tetsu23さんのグッジョブに感謝。

3タイプ対応版アソシエイトID付与ブックマークレット

追記:tetsuさんからもっとスマートでエクセレントなコードが届いたのでこっち使った方がいいです! URLに関係なくAmazonが定義してるASIN番号を直接ぶっこ抜けたんですね。さすがだ……。パーフェクト。

決定版URL万能型アソシエイトID付与ブックマークレット

xxxxxxxx-22の部分を、自分のIDに書き換えて変えてお手軽アソシURL作りに使ったり、お布施したい人のIDに書き換えて忍ぶ恋にいそしんだりしてください。

ブックマークレットの使い方がよくわからない方は前エントリを読んでください。