RequestlyでAmazonの商品ページのURLをシンプルにする
Requestlyというブラウザ拡張機能を使って、Amazonの商品ページ・レビューページのURLから不要な部分を除去する方法を紹介します。
Before:https://www.amazon.co.jp/Echo-Spot-2024年発売-スマートアラームクロック-with-Alexa-鮮やかなサウンド-グレーシャーホワイト/dp/B0C2RZWV9B/ref=lp_5364343051_1_1?sbo=RZvfv%2F%2FHxDF%2BO5021pAnSA%3D%3D
After:https://www.amazon.co.jp/dp/B0C2RZWV9B
Requestlyとは
URLのリダイレクトやHTTPヘッダーの書き換えができるブラウザ拡張機能です。
手順
- Requestlyをインストール
- 下のリンクを開いてルールをインポート

- ルールを有効にする

拡張機能の設定
拡張機能の設定から、サイトへのアクセスを「特定のサイト」に設定して、以下のドメインを追加してください。
- app.requestly.io
- www.amazon.co.jp
- www.amazon.co.uk
- www.amazon.com

「すべてのサイト」だと、一部のサイトで不具合が生じます。
ルールの解説
Amazonの商品ページのURLは以下のような形式になっています。
https://www.amazon.co.jp/商品名/dp/ASINコード/ref=XXXXXXX?key=value&key=value&key=value……このうち商品名とref以降の部分は不要で、以下のURLでも商品ページにアクセスできます。
https://www.amazon.co.jp/dp/ASINコードこのルールでは、正規表現で必要な部分のみのURLに置換してリダイレクトさせています。
正規表現に関しては面倒なのでChatGPTに解説してもらいました。これより先はChatGPTの出力結果です。
正規表現パターン
/(https?:\/\/www\.amazon\.(?:co\.jp|com|co\.uk))(?:\/.*)?\/(dp|gp\/product|product-reviews)\/([a-z0-9]{10}).*/igこの正規表現パターンは、AmazonのURLからドメイン、ページタイプ(dp、gp/product、product-reviews)、およびユニークな商品識別子(ASIN)をキャプチャするように設計されています。
以下に各部分の説明をします。
(https?:\/\/www\.amazon\.(?:co\.jp|com|co\.uk)):https?:\/\/:http://またはhttps://プロトコルに一致します。www\.amazon\.:www.amazon.に一致します。(?:co\.jp|com|co\.uk):co.jp、com、co.ukのいずれかに一致します。
(?:\/.*)?:- オプションで、スラッシュとその後の任意の文字列に一致します。
\/(dp|gp\/product|product-reviews)\/:- スラッシュに続く
dp、gp/product、またはproduct-reviewsに一致します。
- スラッシュに続く
([a-z0-9]{10}):- 10文字の英数字(ASIN)に一致します。
.*:- 任意の文字列に一致します。
置換パターン
$1/$2/$3$1: 正規表現の最初のキャプチャグループで一致した部分(ドメイン)。$2: 正規表現の2番目のキャプチャグループで一致した部分(ページタイプ)。$3: 正規表現の3番目のキャプチャグループで一致した部分(ASIN)。

