アマゾンのWebサービスを利用する

検索してみる

まず、前のページで使ったサンプルの中身を見てみましょう。元のリクエストはこのようなものです。

<A href="http://xml.amazon.com/onca/xml3?t=apricotjam-22&dev-t=D14X1ERKGLFNNO&ArtistSearch=The%20Rolling%20Stones&mode=music&type=lite&f=xml" target="_blank">テスト</a>

このリクエストのパラメータを見てみます。

t アソシエイトタグ アソシエイトプログラムに参加したときにもらうIDです。持っていない場合には、デフォルトの”webservices-20”を使用します
dev-t デベロッパートークン AWSのページから取得します。これがないとAWSを利用できません
ArtistSearch アーチスト名で検索することを表す AsinSearch(ASINでの検索)、AuthorSearch(著者名での検索)、KeywordSearch(キーワードでの検索)等。下のモード表を参照してください。
mode 製品カテゴリ 書籍の場合はbooks、他にdvd、music等。下のモード表を参照してください。
type データのタイプ liteもしくはheavy
f 出力フォーマット xmlまたはXSLTのURL
各国のアマゾンWebサービスのモード
Product Line US mode parameter UK mode parameter DE mode parameter JP mode parameter
Books books books-uk books-de books-jp
Popular Music music music pop-music-de music-jp
Classical Music classical classical classical-de classical-jp
DVD dvd dvd-uk dvd-de dvd-jp
Video vhs vhs-uk vhs-de vhs-jp
Electronics electronics electronics-uk ce-de electronics-jp
Kitchen & Housewares kitchen kitchen-uk kitchen-de kitchen-jp
Software software software-uk software-de software-jp
Computer & Video Games videogames video-games-uk video-games-de videogames-jp
Magazines magazines NA magazines-de NA
Toys & Games toys toys-uk NA NA
Camera & Photo photo NA NA NA
Apparel apparel NA NA NA
Baby baby NA NA NA
Outdoor Living garden NA NA NA
Computers pc-hardware NA NA NA
Tools & Hardware universal NA NA NA

(ただし、日本のアマゾンで輸入本は、"books-us"というモードになるようです。これについてはまだ調査中です。)

検索方法
検索法 概要 パラメータ名
Keyword キーワードでの検索 KeywordSearch
Browse Node ブラウズノードでの検索。ブラウズノードについては下記を参照。 BrowseNodeSearch
Third-party Seller マーケットプレイスに出品している人の商品リストを得る SellerSearch
ASIN/ISBN ASIN/ISBN での検索。ASINはアマゾンで設定している商品毎のID番号。本に関してはISBNと同じ。 AsinSearch
Third-party ASIN Offering ASINでマーケットプレイスを検索する AsinSearchおよびoffer
UPC universal price code(音楽CDに付けられたコード番号)での検索。音楽CDにのみ適用。 UpcSearch
Exchange マーケットプレイスに出品されている商品をexchange IDで検索する ExchangeSearch
Author 書籍の著者名での検索 AuthorSearch
Artist/Musician 音楽もしくはクラシック音楽のアーチスト・ミュージシャン名での検索 ArtistSearch
Actor/Actress DVDもしくはビデオの俳優、女優名での検索 ActorSearch
Director DVDもしくはビデオの監督名での検索 DirectorSearch
Manufacturer エレクトロニクス、kitchen、ゲーム、ソフトウェア、photo, pc-hardwareの製造者名での検索 ManufacturerSearch
Power 書籍に対するキーワード、著者等を組み合わせた検索 PowerSearch
Listmania リストマニアのリストに含まれるアイテムを得る ListManiaSearch
Wish List/Registry ウィッシュリストに含まれるアイテムを得る WishlistSearch
Similar Products 一つの製品に関連する製品のリストを得る SimilaritySearch
Seller Profile マーケットプレイスの出品者の情報を得る SellerProfile
Blended 複数の製品カテゴリに渡っての検索 BlendedSearch

ブラウズノード検索

アマゾンのWebサイトをブラウズしていると、何種類かのページがあることに気付きます。 一つはTOPページのようなその時点での企画などが照会されているページ。 もう一つはジャンル毎に設置され、そのジャンル内でのベストセラーリストが表示されているページ。 そしてもう一つは商品毎のページです。見たところ、殆どこの3種類に分類できるようです。

ここで注目するのは、2番目のベストセラーリストが表示されるページですが、これは次のようなURLになっています。

http://www.amazon.co.jp/exec/obidos/tg/browse/-/466284/・・・

アマゾンではこのようなページをブラウズノードと呼んでいるようです。上の例では466284という番号がこのブラウズノードを表すIDとなっており、 AWSのブラウズノードサーチ(BrowseNodeSearch)では、このブラウズノードに結びつけられている書籍のリストを得ることができます。 たとえば、466284番のノードは「文学・評論」ジャンルの ノードです。このブラウズノードに対してBrowseNodeSearchを行なえばベストセラーの情報を得ることができるわけです。 (注:このとき、売上順にデータを得るために、ソートオプションをsalesrankにする必要があります。また、一回のリクエストでは最大10件までのデータが返信されるため、 TOP100のデータを得るには、pageオプションの値を1ずつ増やしながら10回呼び出す必要があります)

BrowseNodeSearchは非常に便利なのですが、問題点もあります。一つは、ブラウズノードのIDをプログラムで得る方法が無いことです。 ブラウズノードのリストはアマゾンが発表しているものを利用するか、一つ一つ探していく必要があります。また、URLはブラウズノードのように見える ページでもデータが結びついていないページが有ったり、ジャンル分けが変更になったときにはブラウズノードそのものがなくなることもあるので注意が必要です。 たとえば、上で紹介した466284番のノードとは別に497554番のページが「文学・評論」ジャンルの 書籍の売上TOP100ページとなっていますが、こちらはブラウズノードサーチの対象となりません。

liteとheavy

typeパラメータのliteとheavyの違いは提供されるデータの内容の違いです。liteの場合は、たとえば書籍の場合、書名や著者、出版社、価格など基本的なデータなのに対し、 heavyの場合は、liteの内容に加えた書評などのデータが付加されています。

百聞は1見にしかず。実際に検索してみましょう。今回は、日本の書籍を扱うためmodeをbooks-jpにし、日本語のデータを扱うことを明示するlocale=jpというパラメータを追加しています。 またASIN(アマゾンの商品につけられたユニークな記号、書籍の場合はISBNを同じものになる)で検索しています。

[liteの結果をみる]   [heavyの結果をみる]

日本語で日本の製品を検索する

アメリカのamazon.comと日本のamazon.co.jpは同じデータベースを使用しているようですので、アクセスの方法は基本的に同じです。日本の製品を検索する場合にはmodeパラメータを日本の製品のカテゴリに指定します。 使用できるmodeは、books-jp、music-jp、classical-jp、dvd-jp、vhs-jp、electronics-jp、software-jp、videogames-jpです。また、日本語のデータを扱うことを表すために、localeパラメータをjpという値で付加する必要があります。

ここで使用される文字コードはUTF-8です。したがってスタイルシート(XSLファイル)を修正する場合には、UTF-8コードを使用しなければいけません。 また、検索する場合にもキーワードはUTF-8にしなければいけません。

今回使用した文字列(キーワード)は「伊東美咲」という文字列です。日本語で検索するには、まず元の文字列をUTF-8に変換します。次にhttpのリクエストとして送信するために、URLエンコードを行ないます。URLエンコード後の文字列は「%E4%BC%8A%E6%9D%B1%E7%BE%8E%E5%92%B2」となります。

<A href="http://xml.amazon.com/onca/xml3?t=apricotjam-22&dev-t=D14X1ERKGLFNNO&KeywordSearch=%E4%BC%8A%E6%9D%B1%E7%BE%8E%E5%92%B2&mode=books-jp&type=lite&locale=jp&page=1&f=http://jam.apricot.co.jp/affiliate/aws/lite-data-to-html-jp.xsl" target="_blank">

[日本語で検索の結果をみる]

←準備、テスト | XMLアプリ開発→