[AWS3.0] Amazon Webサービスのデータタイプ heavyのデータ構造
前回の記事でtype=lite のデータ構造は取り上げましたのでここでは type=heavy のXMLデータの構造を見てみたいと思います。
heavyはその名のとおり詳細版です。liteの時と比べるとさまざまなデータが取得できるようになります。とりあえず構造としては以下の通り。
<?xml version="1.0" encoding="UTF-8"?>
<ProductInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xml.amazon.com/schemas3/dev-heavy.xsd">
<Request>
<Args>
<Arg value=" ブラウザ情報 " name="UserAgent"></Arg>
-- 以下略 --
</Args>
</Request>
<TotalResults> 検索された商品件数 </TotalResults>
<TotalPages> トータルの頁数 </TotalPages>
<Details url=" Amazonへの商品リンク ">
<Asin> ASINコード </Asin>
<ProductName> 商品名 </ProductName>
<Catalog> カタログ名 </Catalog>
<Artists> ---- Catalog = Musicの時 ----
<Artist> アーティスト名 </Artist>
</Artists>
<Authors> ---- Catalog = Bookの時 ----
<Author> 著者名 <Author>
</Authors>
<Starring> ---- Catalog = DVDの時 ----
<Actor> 俳優・女優名 </Director>
</Starring>
<Directors> ---- Catalog = DVDの時 ----
<Director> 監督名 </Director>
</Directors>
<ReleaseDate> 発売日 </ReleaseDate>
<Manufacturer> 販売元 </Manufacturer>
<ImageUrlSmall> 画像(小) </ImageUrlSmall>
<ImageUrlMedium> 画像(中) </ImageUrlMedium>
<ImageUrlLarge> 画像(大) </ImageUrlLarge>
<ListPrice> 定価 </ListPrice>
<OurPrice> 販売価格 </OurPrice>
<UsedPrice> 中古価格 </UsedPrice>
<SalesRank> ランキング </SalesRank>
<Lists>
<ListId> リストマニアID(この商品をリストマニアに登録している人のID) </ListId>
</Lists>
<BrowseList>
<BrowseNode>
<BrowseId> BrowseNode番号 </BrowseId>
<BrowseName> 検索したBrowseNode以外にどこに登録されているか </BrowseName>
</BrowseNode>
</BrowseList>
<Tracks> ---- Catalog = Music ----
<Track> 収録曲目 </Track>
</Tracks>
<Media> メディア情報(CD-ROM,DVD,大型本,コミックなど) </Media>
<NumMedia> メディア枚数 </NumMedia>
<ISBN> ISBNコード </ISBN> ---- Catalog = Bookの時 ----
<Features>
<Feature> 商品の特徴 </Feature>
</Features>
<Platforms> プラットフォーム </Platforms> ---- Catalog = Software or Video Gamesの時 ----
<Availability> 出荷情報 </Availability>
<ProductDescription> メーカーやAmazonのレビュー </ProductDescription>
<Reviews>
<AvgCustomerRating> レビュー平均点 </AvgCustomerRating>
<TotalCustomerReviews> 総レビュー数 </TotalCustomerReviews>
<CustomerReview>
<Rating> 点数 </Rating>
<Summary> レビュータイトル </Summary>
<Comment> レビュー内容 </Comment>
</CustomerReview>
</Reviews>
<SimilarProducts>
<Product> 関連商品(この商品を買った人が同時に買った物のASINコード)</Product>
</SimilarProducts>
</Details>
<Details url=" Amazonへの商品リンク ">
-- 以下略 --
</Details>
</ProductInfo>
heavy形式のXMLをツリー図にしてみたものがこちら。
こちらもliteの時と同じく Browse Node検索、Keyeword検索、Asin検索、Wish List検索、List Mania検索は同等のデータ形式となります。Blended検索はここでは省きます。
新たに取得できる要素としましては、売上ランキングを示す SalesRank要素。SalesRankは1日1回の更新となります。レビュー関連(メーカーレビュー、カスタマレビュー)、SimilarProducts要素。SimilarProductsはよくある「この商品を買った人はこんな商品も買っています。」というやつ。Amazon側でデータマイニングした結果を返してくれています。他にもBrowseList、Listsなどのデータが取得できます。
type=heavyだと色々なデータを取得できますので、検索結果をキチンとコンテンツとして利用する場合はheavy。ブログなどのサイドバーに売れ筋リストなどを出力する場合は、画像、タイトル、価格などしか利用しないと思いますからデータ容量の少ないliteというようにコンテンツに応じて切り替えるようにしましょう。
Details要素は最大10個。つまり商品数で言うと1~10個の商品が1回のリクエストで取得できる。Arg、Author要素などはliteの解説ページで述べた通り。CustomerReview要素は最大3つ。SimilarProducts、ListId要素は最大5つ。BrowseNodeは登録されている数だけとなります。
アダルト商品をフィルタリングする場合
Amazonではアダルト(18歳未満禁止)の商品も扱っています。今現在アダルト商品を除いてのリクエストは出来ません。自分でフィルタリングをしてやる必要があります。その場合は Features要素にアダルトがあるかを見てやります。ただし書籍の場合はFeatures要素にアダルトは現れないので、BrowseNameにアダルトを含んでいるか調べます。この方法はtype=heavyの時にしか使えません。
(注) AWS3.0は2008年3月を持ちまして終了しました。後継サービスであるECS4.0へ移行してください。


コメント