アマゾンの商品ページでASINを取り出すブックマークレットの雛形
2008-12-02-3
[Programming][Bookmarklet]
「アマゾンの商品ページのURLって、SEO対策で長くなってる上に、 いろいろなパラメータがくっついてて複雑で扱いづらいので、ASIN だけ取り出してそれだけを使って何かをするぜ!」
ということをやりたいので、そのためのブックマークレットの雛形を作りました。
参考にしたサイトは以下:
で、まずは雛形となる JavaScript コード:
このコードを一行にしてリンクにするというのが基本。
詳しくは下記の応用例を見てください。
それぞれのブックマークレットは、Amazon の商品ページで呼び出します。
JavaScript コード:
ブックマークレット化(上記のコードを短くしています):
同じウィンドウでページだけ変えるときは、「javascript:(function(){...})()」とするみたいです。
関連記事:
アソシエイトID付きのURLに変換します。
中身は応用例1とほぼ同じです。
JavaScript コード:
ブックマークレット化(上記のコードを短くしています):
アソシIDは各自変更してください。
瀬戸口さんのコメント:
http://twitter.com/setomits/status/1034125088
しょんぼり。
ということをやりたいので、そのためのブックマークレットの雛形を作りました。
参考にしたサイトは以下:
- amazletツール
http://app.bloghackers.net/amazlet/ - G-Tools ブックマークレット
http://a-h.parfe.jp/einfach/archives/2004/0413103647.html
で、まずは雛形となる JavaScript コード:
var u = location.href; if (u.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/) !=- 1) { var asin = RegExp.$1; ここで何かをする。 }
このコードを一行にしてリンクにするというのが基本。
詳しくは下記の応用例を見てください。
それぞれのブックマークレットは、Amazon の商品ページで呼び出します。
応用例1:簡単なURLのアマゾン商品ページに飛ぶ
JavaScript コード:
var u = location.href; if (u.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/) != -1) { var asin = RegExp.$1; location.href = 'https://www.amazon.co.jp/dp/' + asin; }
ブックマークレット化(上記のコードを短くしています):
- Simple Amazon Url Bookmarklet:
[SAU]
javascript:(function(){if(location.href.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/)!=-1){location.href='https://www.amazon.co.jp/dp/'+RegExp.$1;}})();
同じウィンドウでページだけ変えるときは、「javascript:(function(){...})()」とするみたいです。
関連記事:
- 最近のAmazonのアホみたいに長いURLをなんとかする Greasemonkey (小野マトペ)
http://d.hatena.ne.jp/ono_matope/20070330#1175262969
応用例2:アフィリエイトURLにする
アソシエイトID付きのURLに変換します。
中身は応用例1とほぼ同じです。
JavaScript コード:
var u = location.href; if (u.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/) != -1) { var asin = RegExp.$1; location.href = 'https://www.amazon.co.jp/exec/obidos/ASIN/' + asin + '/yto-22'; }
ブックマークレット化(上記のコードを短くしています):
- Asamasi Bookmarklet:
[ASMS]
javascript:(function(){if(location.href.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/)!=-1){location.href='https://www.amazon.co.jp/exec/obidos/ASIN/'+RegExp.$1+'/yto-22';}})();
アソシIDは各自変更してください。
フォロー
瀬戸口さんのコメント:
http://twitter.com/setomits/status/1034125088
URL から取るより確かにこの方法だと誤りなくASINが取得できるのですが、同じアマゾンの商品ページでもカスタマーレビューページ(http://www.amazon.co.jp/review/product/4569702791)などでは id="ASIN" がなかったりするので、使えないのです。
document.getElementById('ASIN').getAttribute('value')
とかの方が良くないです?
しょんぼり。
履歴
- 追記160530: 今はなきヤサゾン用のブックマークレットを削除。
- 追記160610: アマゾンの仕様により、変換後の URL が http だとリダイレクトされるようになったので、https にしました。
この記事に言及しているこのブログ内の記事
- 今開いているアマゾンの商品ページのアフィリリンクをツイッターに投稿するためのブックマークレット (2018-07-19)
- アマゾンの個別商品URLがhttpだとhttpsにリダイレクトされてURLにタイトルが入るので注意 (2016-06-10)
- アマゾンのKindle商品のURLがhttpだとhttpsにリダイレクトされてURLに商品タイトルが入って長くなっちゃう問題 (2016-05-30)
- iPhone の Safari からアマゾンのアフィリリンクを作成しコピペ用に表示する Bookmarklet (2012-09-15)
- アマゾンの商品ページから楽天へ飛ぶブックマークレット (2010-07-22)
- ヤサゾンで作成できる商品リンクHTMLコードにamazlet風のを足した (2009-12-27)
- ヤサゾンのアサマシ度を少し減らした (2009-12-27)
- アマゾンの商品のカスタマーレビューを一気に表示する Revilist を公開しました (2008-12-25)