Amazon商品URL短縮(2021.3.12)
商品URL
短縮URL
※上のボックスをクリックすると短縮URLをコピーできます
仕組み
Amazon商品URLは主に以下のフォーマットで定められている。
- https://www.amazon.co.jp/(任意文字列)/dp/$ASIN/
- https://www.amazon.co.jp/gp/product/$ASIN/
- https://www.amazon.co.jp/exec/obidos/$ASIN/
- https://www.amazon.co.jp/o/ASIN/$ASIN/
$ASIN
部分は商品の識別番号。便宜上ASINと置いたが、書籍の場合はISBNが割り振られている。
- ASIN : Amazon Standard Identification Number
- ISBN : International Standard Book Number
上記の中では1つ目の形式から(任意文字列)部分を省略したhttps://www.amazon.co.jp/dp/$ASIN/
が最短となる。また、URLのwww.
部分も省略できるので、ドメイン名と識別番号を取得できれば短縮URLを構成できる。
今回はJavaScriptを用いて.co.jp
部分と$ASIN
部分を正規表現でキャプチャし、短縮形に置き換える方針で行う。
正規表現のパターンは以下の通り。
https?:\/\/(?:www\.)?amazon(.+?)\/(?:exec\/obidos\/ASIN|gp\/product|o\/ASIN|(?:.+?\/)?dp)\/(.+?)\/.*
これにマッチするURLはAmzon商品URLであると判断し、"https://amazon$1/dp/$2"
へと置換する。
// URLを引数に取り、Amazon商品URLであれば短縮URLを返すメソッド function getAmznShortURL(url) { const pattern = /https?:\/\/(?:www\.)?amazon(.+?)\/(?:exec\/obidos\/ASIN|gp\/product|o\/ASIN|(?:.+?\/)?dp)\/(.+?)\/.*/g; if (pattern.test(url)) { return url.replace(pattern, "https://amazon$1/dp/$2"); } else { return null; } }
コメント