通販サイトAmazon.co.jp内の情報検索について

Amazonからは、登録されている商品の情報を取得するために、「Amazon Product Advertising API」と言うプログラム用のインターフェースが提供されています。

APIApplication Programming Interface

しかし、このAPIを使用するためには、Amazonと契約してアクセスに必要なIDとアソシエイト名等を貰わないといけません。

また、このAPIは仕様変更が多々あるみたいです。

現時点での最終は2011/10/26だと思われます↓
https://affiliate.amazon.co.jp/gp/advertising/api/detail/api-changes.html?ref_=pe_9502_25356892

今回、あるノードの商品ごとの価格情報一覧がほしかったので、実際にcakePHPのプログラムに組み込んで、カテゴリーとノードを指定して使用してみました。

その結果、1回に10商品の情報の入ったページが1ページ分取得できました。

このAPIでは、パラメータにページ番号を指定すると10ページまで取得できますが、現在は、Amazon側の制限で1ノードあたり100商品分しか取得できないようです。

また、APIには、取得データ中の商品ごとに"MoreOffersUrl"があり、そのURLの先の出品者ページからほしい情報が入手できました。

しかし、100商品では足りない・・・

100商品以上の情報がほしい場合は、Amazonの解説によると、上記のURLの最後の部分に、Amazon のウェブサイトを参照できる"MoreSearchResults"リンクがあるので、このURLを使用する旨が書いてありました。

"MoreSearchResultsUrl"の先に書かれているURLをブラウザに入力すると、1ノードの商品一覧が表示されます。

カテゴリによって、取得できる商品情報は違うようですが、1ページに24商品、最大400ページまで閲覧できるらしいので、最大で、9600商品が見られるようです。

但し、商品情報の一覧なので、1商品に関する詳細情報は、APIのデータよりも、かなり少なくなります。

このため、詳細情報を知るためには、商品一覧から該当商品の価格一覧ページを参照し、さらに、その先にある商品詳細情報を入手する必要があります。

しかし、この方法にも問題があることが判明しました。

商品一覧のページのURL

1ページ目:「http://www.amazon.co.jp/s/ref=s9_dnav_bw_srch・・・pf_rd_i=562020」
2ページ目:「http://www.amazon.co.jp/s/ref=s9_dnav_bw_srch・・・pf_rd_i=562020・・・page=2」

↑フルにURLアドレスを書くと、"?"や"&"等、パラメータに記号を多用しているため省略します。

ブラウザ画面で見ると、1ページ目のURLでは1ページの情報、2ページ目のURLでは2ページの情報が表示されています。

しかし、マウスの右クリックで「ソースの表示(v)」をクリックし、エディタで1ページ目と2ページ目のソースを比較すると、画面では、ページ毎に別の製品一覧を表示しているのに、表示されているソースでは、1ページも2ページも同様になっていました。

当然、3ページ以降のソースも同様でした。

試行錯誤の上、何とか2ページ以降のソースデータを入手できるようになったため、目的は達成できましたが・・・

APIとは、プログラムを作成する人のために、使いやすくするのが本来の姿だと思うのですが、これでは余り意味がありません。

自分たちが、テストのために作った仕組みを、何となく使えるから外部に公開しているだけではないかと邪推してしまいます。

皆さんも、「Amazon Product Advertising API」を使う場合には、十分注意して下さい。

ちなみに、このAPIを使ったシステムについては、下記URLに詳細が掲載されています。

Amazon商品検索システム:http://msystm.co.jp/user_san-kagawa.html

【株式会社 エム・システム】
本      社  :〒124-0023 東京都葛飾東新小岩8-5-5 5F
           TEL : 03-5671-2360 / FAX : 03-5671-2361
盛岡事業所  :〒020-0022 岩手県盛岡市大通3-2-8 3F
           TEL : 019-656-1530 / FAX : 019-656-1531
E-mail    : info@msystm.co.jp 
URL     : http://msystm.co.jp/
ブログ       : http://d.hatena.ne.jp/msystem/ 
Facebook   : http://www.facebook.com/msysteminc