[AWS3.0] Amazon Webサービスのデータタイプ Blended検索のデータ構造
Amazon Webサービスを検索する場合に、Blended検索を利用する場合は、返ってくるXMLデータの構造が若干違ってきます。簡単に説明したいと思います。まず返ってくるデータは以下のような感じです。
<?xml version="1.0" encoding="UTF-8"?>
<BlendedSearch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xml.amazon.com/schemas3/dev-lite.xsd">
<Request>
<Args>
<Arg value="Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv:1.7.10) Gecko/20050717 Firefox/1.0.6" name="UserAgent"></Arg>
(以下略)
</Args>
</Request>
<ProductLine>
<Mode>music-jp</Mode>
<ProductInfo>
<TotalResults>74</TotalResults>
<TotalPages>8</TotalPages>
<Details url="http://www.amazon.co.jp/exec/obidos/ASIN/B0007WZY0M/spiritsofzero-22?dev-t=D1FRWUGTFNQ4LA%26camp=2025%26link_code=xm2">
(lite or heavy時のデータ構造と同じ)
</Details>
</ProductInfo>
</ProductLine>
<ProductLine>
(以下データの繰り返し)
</ProductLine>
</BlendedSearch>
このXMLをツリー図にしてみたものがこちら。
先に解説しましたtype=lite or heavyはRoot要素の次がProductInfo要素でした。そしてProductInfo以下にDetails要素になっていましたがBlended検索だと違う構成になります。
Blended検索は各mode(books-jp、music-jp、dvd-jpなど)から指定したキーワードで検索し結果をXMLにします。ProductLine要素がそれぞれのmodeの検索結果を表します。例えば検索した結果、book-jpとdvd-jpで見つかったならProductLine要素は2つになります。そしてDetails要素にて最大3つ商品データが取得できます。Blended検索で検索できる商品数は各modeで最大3商品までとなっています。
Details要素以下は先のlite or heavy時のDetails要素以下と同じになりますのでそちらをご覧下さい。
Blended検索を使ってみると分かるのですが、便利そうで以外に使い勝手が悪いです。元々ショッピング検索をする場合は買う商品が決まっていたりするので、本とかDVDなどを直接指定すると思います・・・。Blendedで検索をかけてもAWS3.0ですと1ページ目しか取得できないので各モードの売れ筋の3つしか取得できません。ECW4.0になると改ページもできるようになっていますが、こちらも使い勝手がかなり悪いです。
Blended検索はおまけ程度に考えておきましょう。
(注) 2008年3月をもってAWS3.0は終了しました。ECS4.0へ移行してください。

コメント