スプレッドシートにASINを入れたら、画像も商品名も取得できたら便利じゃない?
・・・できませんでした(*'ω'*)
以下理由とできることを書かせていただきます。
Amazonからのデータ取得制限について
-
CAPTCHAの存在
Amazonは多くのページに対してCAPTCHA(完全自動公開テスト)を導入しており、自動化されたアクセスを防止しています。
CAPTCHAは、ページを開いた際に画像認証や文字認証を要求されるものです。この認証をクリアしない限り、データの取得はできません。
特に、APIを使わずにスプレッドシートのIMPORTXMLやIMPORTHTMLを使用した場合、この認証に引っかかり、取得ができなくなることがほとんどです。 -
データ取得の制限
Amazonはそのデータを保護するために、ウェブスクレイピングによるアクセスを制限しています。
IMPORTXMLやIMPORTHTMLを使って商品情報や画像を引き出そうとする場合、特定の情報(商品画像や詳細情報)は取得できないことがあります。さらに、Amazonの商品ページは動的に読み込まれることが多いため、HTMLのタグにすべての情報が記載されていない場合もあります。
これにより、静的なHTMLを解析するIMPORTXMLでは必要な情報を抽出できないケースがあります -
アクセスの規約とポリシー
Amazonでは、AmazonアソシエイトやProduct Advertising APIを通じて、公式にデータの取得が許可されています。
これらは認証を通した正当な方法であり、制限されたデータや画像を合法的に取得できます。
しかし、APIを使わずにスクレイピングを行うことは、Amazonの利用規約に反する行為となる可能性があります。実際、Amazonの規約において、許可されていない自動化ツールやプログラムを使用して商品ページをスクレイピングすることは禁止されています。
これにより、利用規約に反した場合、アカウントの停止などのペナルティが発生する恐れがあります。 -
データの取り扱い
データを取得する際には、商標権や著作権に関連するリスクも考慮する必要があります。
画像や商品名などは、Amazonが所有するコンテンツであり、適切な権利を持たないまま再利用すると法的問題を引き起こす可能性があります。
そのため、Amazonの商品データを利用する際は、使用許可を得るか、Amazonが提供している公式なAPIを利用することが重要です。 -
まとめ
Amazonの商品データを取得したい場合には、公式に提供されているAPIやツールを使うことが推奨されます。
スクレイピングや非公式な方法を利用する場合、データの取得は難しく、CAPTCHAや制限に阻まれることが多いため、効率的かつ合法的な方法でアクセスすることが重要です。APIが使えない場合でも、商品リンクをハイパーリンクとして取り扱い、そこから直接商品ページにアクセスすることで、情報を手動で取得する方法もあります。
とはいえ、合法的な手段を選ぶことが、長期的な運用において最も安心できる方法です。ハイパーリンク例
=HYPERLINK("https://www.amazon.co.jp/dp/" & B2, "商品ページ")
セルB2に「ASIN」を入れることでリンクができます。そこをホバーすれば商品リンクの画像が見える仕組みです。
もちろんリンクなのでページに飛ぶことも可能です以下chatGPTの回答
単にリンクを生成して表示する方法は、Amazonの利用規約に違反することはありません。
なぜなら、これはスクレイピングや自動化されたデータ取得を行っているわけではなく、ユーザーがクリックして直接Amazonの商品ページに遷移するだけだからです。Amazonの規約違反となるのは、自動化された手法(APIを使わずにHTMLを解析してデータを抽出するなど)であり、リンクを貼るだけであれば問題ありません。
また、リンク先がAmazonの商品ページであれば、正当な方法でアクセスを提供していると考えられます。なので、この方法で商品ページにハイパーリンクを追加することは完全に問題なく、規約に違反することはありません。