読者です 読者をやめる 読者になる 読者になる

【Amazon】たまには技術ネタも書きます(Amazon APIのクエリURLについて)

f:id:PSYuki:20170314011557p:plain

こんばんは。ツムさんです。

 

最新のAmazon APIのクエリフォーマットがイマイチわからんという人が大勢いらっしゃるので、元半導体エンジニアが超分かりやすく説明するよ。

 

 

今日の生贄はコレ。

 

プレステ4(フォー)のProだ!

 

f:id:PSYuki:20170322215850p:plain

 

Amazonのお値段は、53000円也。

 

Amazonの商品はすべてASINコードという番号で一元管理されているので、まずはこのASINコードを確認しないと何も始まりません。

 

ズルズルっと、画面をスクロールして、中段くらに出てくる「登録情報」にそれはある。

f:id:PSYuki:20170322220359p:plain

プレステフォープロのASINは B01LRHPUZ4 なので、こいつをメモ。

 

んで、Amazonのサーバーに投げるクエリURLをこんな感じで作ってやると、

f:id:PSYuki:20170322231135p:plain

Amazonのサーバーからこんな感じのXMLをGetすることができます。

f:id:PSYuki:20170322231525p:plain

XMLの下のほうに、「PlayStation 4 Pro ジェット・ブラック 1TB 」の文字が見えるかな。ASINコードは、Amazonに登録されている商品を一意に特定できるものなので、冒頭紹介したPS4の商品情報がこのXMLで表現されていることになります。

 

これが取得できればあとは煮るなり焼くなりお好きなように出来ちゃうわけです。

 

作成したクエリURLが正しいかどうかは、Webブラウザで投げるのが手っ取り早いです。URLに間違いがあるとエラーコードをWebブラウザ上で表示してくれます。

 

クエリURL自体はそれほど難しいものではないし、AmazonからURLの作成プログラムも提供されているので、それを使えばあっさり作れるのですが、情報が少し古くプログラムを一部修正しないとならないため注意です。

 

そもそも、AmazonのAPIが分かりにくくなったのも一部のユーザー(というかシステム開発者)がスパムのごとくAmazonのサーバーにクエリを投げまくってるから、という話もあるので、このページを読んだからといって、Amazonのサーバーを攻撃するような真似は止めましょう。

 

Amazonのサーバーも手は打っていて、今はAWSのアカウントが無いとAPIも使えないし1秒に1回のリクエストしか受け付けないので、大量にクエリを送っても送り損なだけなんだけどね。

 

ResponseGroupをsmall以外に変えてやるといろいろな情報がGetできるので次回紹介します。たとえば、SalesRankにするとランキング情報が取得できたりします。