Amazon Product Advertising API を使って kakaku.com の価格一覧表示をしてみたい
環境/前提
OS レベルで環境依存はしていないと思いますが、Cygwin や Mac OS X でも動くと思いますが、自分は VMWare 上の Ubuntu を使っています。言語は Ruby。gem などが動いていることが前提となります。
事前準備
Access Key ID と Secret Access Key
AWS Identity and Access Management(IAM)の Access Key ID と Secret Access Key が必要です。以下を参考に、まずアクセスキーを作成してください。
Access Key ID と Secret Access Key はファイルで落とせるので保存しておいてくといいと思います。
アソシエイトID を作成
次に、アソシエイトIDを作ります。アフィリエイトなどいらないのですが、作っておいたほうがいいようです。詳しくは以下に。
ruby gem をインストール
Amazon Product Advertising API は別に難しい API ではないので Ruby の追加パッケージ無しでも使えますが、せっかくあるので amazon-ecs を使います。Linux 系ならインストールは以下のとおり。ほかの sudo がいるかいらないか程度の差だと思います。
$ sudo gem install amazon-ecs
商品を検索してみる
上記準備がすべて成功したっぽかったら以下のようにコードを書いてみる。Amazon::Ecs.options は上記で準備したもの。Amazon::Ecs.item_search では検索したい商品名やジャンルなどを入れます。自分はアメリカにいるので :country => 'us' になっていますが、日本の amazon 商品を見たければ jp とか入れればいいとおもいます。
require 'amazon/ecs'
Amazon::Ecs.options = {
:associate_tag => 'philosong-20',
:AWS_access_key_id => 'XXXXXXXXXXXXXXX',
:AWS_secret_key => 'XXXXXXXXXXXXXXX'
}
res = Amazon::Ecs.item_search(
'EOS 5Ds R',
:browse_node => '3017941',
:response_group => 'ItemAttributes, Images',
:search_index => 'Electronics',
:country => 'us')
res.items.first(5).each do |item|
puts item.get('ASIN') + ':' + item.get('ItemAttributes') #+ ':' + item.get('ItemAttributes/Price')
end
browser_node って?
商品カテゴリーの番号です。amazon のトップページからカテゴリーに飛ぶと、URL は...
http://www.amazon.com/Digital-SLRs-Cameras-Photo/b/ref=dp_bc_5?ie=UTF8&node=3017941
などとなっていると思います。この node の値が browser node となります。検索したい商品を絞り込みたいときに有効です。node の一覧は日本の方は https://affiliate.amazon.co.jp/gp/associates/help/t100 辺りを見るとわかると思います。
Author And Source
この問題について(Amazon Product Advertising API を使って kakaku.com の価格一覧表示をしてみたい), 我々は、より多くの情報をここで見つけました https://qiita.com/henri_t/items/8cc04f461b74f2ca800c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .