ここにもXML

Amazon.co.jp商品データ

2004年4月号掲載記事

今ブログ(Weblog、Blog)が技術者を中心にブームとなっていますが、最近、関心のある書籍や音楽商品をAmazon Web サービスで取得しブログに紹介する人が増えています。そこで、今回、Amazonで実際に販売されている書籍や音楽商品のXMLデータを簡単に取得する方法をご紹介します。

手順は非常に簡単です。たとえば、「XMLマスター」というキーワードで書籍を検索するには、次のような URL をお使いの Web ブラウザのアドレスに貼り付けて実行します。すると、結果が XML で返されます。

http://xml.amazon.co.jp/onca/xml3?t=webservices-20&dev-t=D30CQPU080371L&KeywordSearch=XML%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC&mode=books-jp&type=lite&locale=jp&f=xml

返される XML は次のようなものです(抜粋。なお、データは2004年3月24日17時50分現在のものです)。ご覧のとおり、Amazon.co.jp のサイト上で表示されているデータがほぼそのまま再現されます。

1:<ProductInfo>
2:<Details url="http://www.amazon.co.jp/exec/obidos/ASIN/4798104108/webservices-20?dev-t=D30CQPU080371L%26camp=2025%26link_code=xm2">
3:<Asin>4798104108</Asin>
4:<ProductName>XMLマスター教科書プロフェッショナル</ProductName>
5:<Catalog>Book</Catalog>
6:<Authors>
7:<Author>株式会社クロノス 志賀 澄人</Author>
8:<Author>株式会社クロノス 山本 大</Author>
9:<Author>XML技術者育成推進委員会</Author>
10:</Authors>
11:<ReleaseDate>2004/02/11</ReleaseDate>
12:<Manufacturer>翔泳社</Manufacturer>
13:<ImageUrlSmall>http://images-jp.amazon.com/images/P/4798104108.09.THUMBZZZ.jpg</ImageUrlSmall>
14:<ImageUrlMedium>http://images-jp.amazon.com/images/P/4798104108.09.MZZZZZZZ.jpg</ImageUrlMedium>
15:<ImageUrlLarge>http://images-jp.amazon.com/images/P/4798104108.09.LZZZZZZZ.jpg</ImageUrlLarge>
16:<Availability>通常24時間以内に発送します。</Availability>
17:<ListPrice>¥ 3,800</ListPrice>
18:<OurPrice>¥ 3,800</OurPrice>
19:</Details>
20:</ProductInfo>

Amazon Web サービスは現在、xml.amazon.co.jp/onca/xml3 上で稼動しています。URL に指定されているパラメータには次のような意味があります。

t: アソシエイトID(実験用のIDであるwebservice-20が指定されています)
dev-t: デベロッパー・トークン
KeywordSearch: 検索するキーワードをUTF-8でURLエンコードした文字列
mode: 商品カテゴリ(books-jp は和書)
type: 返される XML データの構造(liteは概要、heavyは詳細)
f: 返される データの形式(xml)
locale: 検索対象の Amazon サイト(jp は Amazon.co.jp)

このデータは、実際に Amazon.co.jp で稼動しているカタログデータから得られるものです。返される XML には、書籍の URL も含まれます。このURLから Amazon.co.jp にアクセスして商品を購入できる上に上記のアソシエイトIDを適切に指定すれば紹介料収入を得ることもできます。

上記のデータでは取得されていませんが、typeパラメータにheavyを指定すれば、Amazon.co.jp 上にあるカスタマーレビューの内容やレコメンデーション(この本を買った人はこんな本も買っています)機能も利用できます。また、Amazon.co.jp のショッピングカートを利用する機能も、ほとんどが XML でサポートされています。
つまり、Amazon Web サービスを利用すれば、誰でもインターネット上に Amazon.co.jp の支店をオープンできるのです。

Amazon Web サービスは、XML のポテンシャルを最大限に活用できるように作られています。たとえば、次のような XSLT スタイルシートを用意します。

1:<transform xmlns="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
2:<output method="text" /> 
3:<template match="/"> 
4:<apply-templates select="ProductInfo/Details" /> 
5:</template> 
6:<template match="Details"> 
7:<value-of select="ProductName" /> 
8:</template> 
9:</transform> 

この XSLT スタイルシートをインターネット上に配置して、次のようなURL で Amazon Web サービスにアクセスすると、書籍の名前だけが結果として返されます。

http://xml.amazon.co.jp/onca/xml3?t=webservices-20&dev-t=D30CQPU080371L&KeywordSearch=XML%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC&mode=books-jp&type=lite&locale=jp&f=[http://XSLT スタイルシートへの URL] 

また、SOAP 1.1 にも対応しており、WSDL ファイルも用意しているので(http://soap.amazon.co.jp/schemas3/AmazonWebServices.wsdl)、Apache Axis(Java)、SOAP::Lite(Perl)、nuSoap(PHP) などのお馴染みの Web サービスツールキットを利用した開発もできます。

もちろん XML でデータをやり取りするだけですから、利用は Web サイトに限定されません。Amazon Web サービスの利点を活かして、Amazon.co.jp では Microsoft Office System のリサーチ・ウィンドウにプラグインするアプリケーションを開発・提供しています(http://www.amazon.co.jp/researchservice)。このプラグインを利用すると、Microsoft Office System のユーザーは、Amazon.co.jpの膨大なデータから知りたい情報を探し出して、情報を文書に挿入したり検索された商品を Amazon.co.jp のショッピングカートに入れる作業までも、Web ブラウザを立ち上げることなく、Microsoft Office System アプリケーションの中で行えます。これも、Microsoft Office SystemとAmazon Web サービスの双方が XML を効果的に活用している一例といえます。

Amazon Web サービスの詳細と、デベロッパー・トークンの取得については http://www.amazon.co.jp/webservices/ を参照してください。日本語での質問ができるディスカッション・ボードも設置されています。

吉松 史彰 Amazon Web サービス テクニカル エバンジェリスト
fumiakiy@amazon.co.jp

ページトップへ▲

HOMEへ戻る