AmazonのAPIを使って書籍データを取得する(3)

前回、AmazonのAPIを使って書籍データを取得する(2)の続きです。

前々回に書いたとおり、Rubyでamazon-ecsを使ってスクリプトを作りました。

ISBNやASINとかの番号からAmazonのデータを取ってくるのはそれほど難しくないです。例えばこんなスクリプトで、
(associate_tag、AWS_access_key_id、AWS_secret_keyはそれぞれご自分のものに書き換えてください)

# encoding: utf-8

require 'rubygems'
require 'amazon/ecs'

# 初期設定
Amazon::Ecs.configure do |options|
  options[:associate_tag] = # あなたのアソシエイトID(なんとか-22ってやつ)
  options[:AWS_access_key_id] = # あなたのAccess Key ID
  options[:AWS_secret_key] = # あなたのSecret Access Key
  options[:country] = 'jp' # amazon.co.jpしか検索しないのでここで設定
end

# データ取得
# response = Amazon::Ecs.item_lookup(ARGV[0], { response_group: 'Small' })
response = Amazon::Ecs.item_lookup(ARGV[0], { response_group: 'Medium' })
# response = Amazon::Ecs.item_lookup(ARGV[0], { response_group: 'Large' })

# データ表示
if response.items.length > 0
  response.items.each do |item|
#    p item
    puts("ASIN:         #{item.get('ASIN')}")
    puts("Author:       #{item.get('ItemAttributes/Author')}")
    puts("Title:        #{item.get('ItemAttributes/Title')}")
    puts("Manufacturer: #{item.get('ItemAttributes/Manufacturer')}")
    puts("Group:        #{item.get('ItemAttributes/ProductGroup')}")
    puts("URL:          #{item.get('DetailPageURL')}")
    puts("SalesRank:    #{item.get('SalesRank')}")
    puts("Amount:       #{item.get('ItemAttributes/ListPrice/Amount')}")
    puts("LowestNewPrice: #{item.get('OfferSummary/LowestNewPrice/Amount')}")
  end
else
    puts("#{ARGV[0]}: products not found")
end

コンソールからISBNを引数として与えると

$ ruby amazon_paapi_pulldata.rb 4797372273

こんな結果が返ってきます。

asin:         4797372273
author:       高橋 征義
title:        たのしいRuby 第4版
manufacturer: ソフトバンククリエイティブ
group:        Book
url:          http://www.amazon.co.jp/%E3%81%9F%E3%81%AE%E3%81%97%E3%81%84Ruby-%E7%AC%AC4%E7%89%88-%E9%AB%98%E6%A9%8B-%E5%BE%81%E7%BE%A9/dp/4797372273%3FSubscriptionId%3DAKIAI2L2TD7KBTEODISA%26tag%3Dopencollect-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4797372273
salesrank:    3463
amount:       2730
LowestNewPrice: 2730

ソース中ではコメントアウトしてありますが、response_groupをSmallとかMediumとかLargeとかに変えると、取得できるデータの種類が変わります。今回のではSmallにするとSalesRank,Amount,LowestNewPriceが出力されません。
XMLの生データが見たい場合は22行目の’# p item’の#を消してください。

[関連記事]
AmazonのAPIを使って書籍データを取得する(3) ←この記事です
AmazonのAPIを使って書籍データを取得する(2)
AmazonのAPIを使って書籍データを取得する(1)

たのしいRuby 第4版
たのしいRuby 第4版

posted with amazlet at 13.06.08
高橋 征義 後藤 裕蔵
ソフトバンククリエイティブ
売り上げランキング: 3,463
開発ツール徹底攻略 (WEB+DB PRESS plus)
Junio C Hamano 大塚 弘記 川口 耕介 kana 大竹 智也(tomoya) 尾藤 正人
技術評論社
売り上げランキング: 1,175
カテゴリー: サイト, ソースコード, Ruby タグ: パーマリンク

AmazonのAPIを使って書籍データを取得する(3) への2件のフィードバック

  1. ピンバック: AmazonのAPIを使って書籍データを取得する(2) | Ukkari blog

  2. ピンバック: AmazonのAPIを使って書籍データを取得する(1) | Ukkari blog

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中