オークション商品データの構造
オークションの商品情報は、カテゴリ情報と商品リストから構成されています。
(1)カテゴリ情報
カテゴリは、カテゴリID"0"を起点にして、大きな樹形図になっていますが、一度のリクエストで取得できるカテゴリ情報は、1つの親カテゴリとその子カテゴリ全部のみです。このため、目的のカテゴリにたどり着くまで、階層数だけのリクエストが必要になります。
カテゴリ情報のリクエストURLは、http://auctions.yahooapis.jp/AuctionWebService/V2/categoryTree です。主なリクエスト引数とレスポンス要素は以下の通りです。
表2.カテゴリ情報の主なリクエスト引数
引数名 | 設定値 |
---|---|
appid | アプリケーションID |
category | 取得したいカテゴリID(最上位は0) |
表3.カテゴリ情報の主なレスポンス要素
要素名 | 親要素 | 内容 |
---|---|---|
ResultSet | - | ルート要素 |
Result | ResultSet | 検索結果 |
ChildCategory | Result | 子カテゴリ(あるだけ繰り返し出現) |
CategoryID | Result、ChildCategory | カテゴリID |
CategoryName | Result、ChildCategory | カテゴリ名 |
CategoryPath | Result、ChildCategory | カテゴリのパス |
IsLeaf | Result、ChildCategory | 末端カテゴリか否か |
ParentCategoryID | Result、ChildCategory | 親カテゴリのID |
(2)商品リスト
商品リストは、末端のカテゴリIDにのみ存在します。一度のリクエストで取得できる商品リストは、1ページ分(50件)です。このため、全商品を取得するには、ページを指定してページ数だけリクエストする必要があります。
商品リストのリクエストURLは、http://auctions.yahooapis.jp/AuctionWebService/V2/categoryLeafです。主なリクエスト引数とレスポンス要素は以下の通りです。
表4.商品リストの主なリクエスト引数
引数名 | 設定値 |
---|---|
appid | アプリケーションID |
category | 取得したいカテゴリID |
page | ページ番号 |
sort | ソート項目。end:終了時間、cbids:現在価格など。未指定時はend。 |
order | ソートの順番。a:昇順、d:降順 |
表5.商品リストの主なレスポンス要素
要素名 | 親要素 | 内容 |
---|---|---|
ResultSet | - | ルート要素 |
Result | ResultSet | 検索結果(1つだけ存在) |
CategoryPath | Result | カテゴリのパス |
Item | Result | 商品(あるだけ繰り返し出現) |
Title | Item | 商品のタイトル |
AuctionItemUrl | Item | 商品の詳細ページのURL |
Seller | Item | 出品者の情報 |
Id | Seller | 出品者のYahoo JAPAN ID |
CurrentPrice | Item | 現在価格 |
EndTime | Item | 終了時間 |
表6.商品リストのResultSet要素の属性
属性名 | 内容 |
---|---|
totalResultsAvailable | 当該カテゴリの全商品数 |
totalResultsReturned | 取得された商品数 |
firstResultPosition | 何番目から取得されたか |
XML Schemaについて
XML SchemaとはXMLデータの記述ルールで、データベースのテーブル定義に相当します。 第3回の「XMLデータを取り込み、ワークシートに対応付ける」節では、[XML対応付け]の[XMLソースの選択]にXMLデータのURLを入力しました。この際「スキーマを参照していません」という警告に構わず[OK]をクリックしたので、Excelが解析を行い、対応付けを作ってくれました。
今回のカテゴリ情報には、XML Schemaが用意されていますので、これを使います。 ブラウザから以下のURLにアクセスしてください。
http://auctions.yahooapis.jp/AuctionWebService/V2/categoryTree.xsd
このデータは後述の開発で使うので、名前を付けてファイルに保存しておいてください。
Excelによる開発
以下の手順で行います。なお、詳細な説明を省略している部分につきましては、「第3回 楽天書籍検索」と「第4回 YouTube動画検索」を必要に応じてご参照ください。
1.カテゴリシートを作成する
2.検索画面を作成する
3.共通の変数・定数を準備するVBAを記述する
4.カテゴリ情報取得のVBAを記述する
5.カテゴリ関連のVBAを記述する
6.商品リスト関連のVBAを記述する
7.その他必要なVBAを記述する