Amazonの商品カテゴリー情報 ブラウズノード検索
Amazonの商品データを取得する方法をメモ。
今回は、商品カテゴリーの情報をAPI経由で検索する方法です。
BrowseNodeIdで検索
Amazonの用語で、商品カテゴリーのことを「ブラウズノード」と言います。
各ブラウズノードには「ブラウズノードID」という背番号が割り当てられています。
(参考)用語 ブラウズノード(Browse Node)
例えば、本の中の「JavaScript」というノードなら、「3232386051」というノードIDが割り当てられていました。
https://www.amazon.co.jp/b/?node=3232386051
本 : コンピュータ・IT : Web作成・開発 : Webプログラミング : JavaScript
それでは、早速ノードIDでカテゴリー情報を取得してみましょう。
以前に用意したProduct Advertising APIを利用するライブラリーを使います。
ここでは、CodeIgniter(PHPのMVCフレームワーク)で利用する方法をメモしときます。
CodeIgniterのモデルで「Search」クラスを作成、検索用に「search_browsenodeid」メソッドを作成します。
- Operation に BrowseNodeLookup
- ResponseGroup に BrowseNodeInfo
- BrowseNodeId に 検索したいブラウズノードID
を指定しています。
これで、ブラウズノードに関する情報が取得できます。
サンプル
以下に、本のカテゴリーを検索した結果を例示します。
- ノード名:「本」
- ノードID:465392
- https://www.amazon.co.jp/b/?node=465392
- ノード名:「Web作成・開発」
- ノードID:515206
- https://www.amazon.co.jp/b/?node=515206
- ノード名:「JavaScript」
- ノードID:3232386051
- https://www.amazon.co.jp/b/?node=3232386051
Amazon APIのレスポンス(返答)の中に「BrowseNodes」という項目があります。
その中の「BrowseNode」にブラウズノードに関する情報が格納されてました。
- BrowseNodeId … ノードID (カテゴリー番号)
- Name … ノード名(カテゴリー名)
- Children … ノードの下にある子ノード
- Ancestors … ノードの上にある親ノード(祖先ノード)
英語のAncestorは「祖先」という意味でした。
ChildrenとAncestorsのデータをうまく利用すれば、ノードの階層構造を調べることができます。
Ancestorsは、再帰的な構造のデータになっているので、再帰的な処理を行なえば、人間にとって見やすい形のデータに加工できます。
(次回は、再帰的な処理と、データベースに保存する方法をまとめたいと思います。)