2004年7月より始めた[Z]ZAPAブロ〜グですが、ライブドアショックを受けて終了することになりました。
今後の更新は新ブログ→[Z]ZAPAブロ〜グ2.0での更新となります。 (全ての過去ログ、コメントは新ブログへと移行しました。)
新ブログでもよろしくお願いいたします。

[Z]ZAPAブロ〜グ2.0
2005年02月13日

アマゾンWebサービス(AWS)利用メモ

本、エレクトロニクス、DVDなどさまざまな商品を豊富に取りそろえているAmazon.co.jp。
このアマゾンには、Amazon Webサービス(AWS)という商品情報を取得するためのWEBサービスが用意されています。

このサービスが、どんなサービスなのか簡単に説明するとするなら、
「アマゾンの商品情報データベースにアクセスして、情報を利用できる」
ような感じのサービスです。

このサービスを元に作ってみたページは
[Z]ZAPAnetサーチ

以下、アマゾンWebサービスに関するメモ。
(個人的なメモなので、内容の保証はありません)

・無料デベロッパー・トークンを申し込み、デベロッパーキット(SDK)をダウンロードする
アマゾンのサイトへ行き、申し込む。
アフィリエイトをしたい場合には、アソシエイトプログラムにも申し込む。


・AWSで利用できる機能を理解する
アマゾンでは、XML/HTTPとSOAPの2種類が利用できるようになっている。
自分の環境に合わせてどちらを利用するかを決める。


・RESTでXMLを取得するためのパラメーターを確認する
通信は全てHTTPを使用。
2005年2月時点では、Amazon E-Commerce Service 4.0(ECS 4.0)が利用できる。
URLはhttp://webservices.amazon.co.jp/onca/xml。
MethodはGET。
Parameterは、ドキュメントを読んで確認する。
Service=AWSECommerceService
&SubscriptionId=[登録したsubscription ID]
&AssociateTag=[アソシエイトID]
&Version=[バージョン指定]


・問い合わせの種類を決める
問い合わせの種類として、
&Operation=ItemSearch
のパラメーターを追加する。(その他の情報を取得したい場合には変更する)


・取得したい情報を決める
たくさんの情報取得と画像が必要な場合は、
&ResponseGroup=Large,ItemAttributes,Images
とする。(その他の情報を取得したい場合には変更する)


・取得する商品の種類を決める
すべての商品情報が欲しい場合は、Blended。
本の情報が欲しい場合には、Books。
音楽の情報が欲しい場合には、Musicなどとする。
&SearchIndex= Blended


・検索結果のページを指定する
1ページ目の場合は、1を指定する。
&ItemPage=1

・出力するフォーマットを指定する
XMLで取得する場合には、text/xmlを指定する。
&ContentType=text/xml


・実際にkeyword検索でXMLを取得してみる
パラメーターにKeywordsを追加する。
&Keywords="エンコードした文字列"を追加する。
アマゾンの場合、文字コードがUTF-8なので注意する。
SJISやEUC-JPなどでファイルを作成している場合、まずUTF-8にエンコードしてから、さらにURLエンコードする。

仮にEUC-JPで作成したPHPファイルの場合、
urlencode(mb_convert_encoding("キーワード", "UTF-8", "EUC-JP")
のように変換する。

例:全てのブラウズ(カテゴリ、ジャンル)情報から”ドラクエ”でXMLを取得する場合
http://webservices.amazon.co.jp/onca/xml?
Service=AWSECommerceService
&SubscriptionId=*********
&AssociateTag=*********-22
&Operation=ItemSearch
&Version=2004-10-04
&ResponseGroup=Large,ItemAttributes,Images
&SearchIndex=Blended
&ItemPage=1
&Keywords=%E3%83%89%E3%83%A9%E3%82%AF%E3%82%A8
&ContentType=text/xml
これでXMLを取得できる。(見やすくするため、改行を入れてあるが実際には一行)


・その他のパラメータを試す
その他のパラメーターに関しては、自分の好きなように追加し、試してみる。


・取得したXMLファイルをXSLを用いて変換する
xslパラメータを追加して、XSLTモードでXMLをHTMLに変換する。
これで誰にでも見やすい形にデータを変換できる。
&Style=自分のxsl.xsl
(XSLTスタイルシートに関するこの記事での説明は無し)


・取得したXMLファイルをパースする
XSLTスタイルシートを使いたくない場合には、自分でXMLファイルをパースする。
SAXやDOMなどの技術を使い変換してHTMLファイルなどにする。
(パースに関するこの記事での説明は無し)


・SOAPで情報を取得する
SOAPの技術が使える人は、こちらの方法も試してみる。


・まとめ
 ・これだけ情報量の多いアマゾンのデータベースを利用できるのはかなり良い。
 ・ドキュメントが英語でわかりにくい。
 ・パラメーターがたくさんあって、最初は理解しにくい。
 ・XMLの要素の作りが複雑でわかりにくい。
 ・取得できるXMLの情報はさすが。
 ・サーバーのレスポンスはそこそこ。
 ・サーバー側の技術を使わなくても、XSLTだけでも利用できるのは便利。


アマゾンは、現状に慢心することなく、WEBサービスなどのサービスも提供しているところがさすがです。
評価点やレビュー内容なども取得できるので、変換の方法によっては、本家アマゾンよりわかりやすいページ構成も可能かもしれません。


試しにアマゾン検索、楽天検索、ビッダーズ検索を組み合わせてサイトを作ってみました。

[Z]ZAPAnetサーチ
 
 
ウイイレ  ポケモンDP  ポケモンHGSS  ポケダン  ポケモン ブラック・ホワイト  ダビスタ  API  airappli  ZAPAnetサーチ2.0  ZAPAブロ〜グ2.0  アルトネリコ3  ドラクエ7  ドラクエ9  ドラクエ10  ドラクエ11  テリーのワンダーランド3D  レイトン教授  ダンボール戦機  ホビロン  チンチロリン  めんまフォント  おはようチューブ  ツンデレサーチ!  マリオカートWii  tobeto.be  BorW  無料iPhoneアプリ  [ ]

トラックバックURL
この記事へのトラックバック一覧
自分のページのジャンルとは異なるジャンルとも 相互リンクをするほうがいいと思います。
アクセス数を増やすには【科学的アフィリエイト】at 2005年02月14日 21:57
「アマゾンWebサービス」を使うとアマゾンの膨大なデータ-ベースの中から自由に画像やレビューを引っ張り出して自分のサイトで使えるようになります。 ちょっとプログラムの知識のある人なら、どうにか使える...
アマゾンWebサービス【a-ki's factory Blog】at 2005年03月08日 22:42
この記事へのコメント一覧
すごい分かりやすい説明ですね^^

僕もやってみようかな。
Posted by 最強ナンパ師 at 2005年02月14日 17:11