積雲が映像制作したMV『RANGEFINDER』公開中
専門88IO

Amazon商品URL短縮サービス(+仕組み)

専門
スポンサーリンク

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;
  }
}

コメント

タイトルとURLをコピーしました