AmazonのItemSearchAPIをPython3から利用する
アマゾンの商品販売情報を取得して利用するまでの道程( ゚Д゚)y─┛~~
- 用意するライブラリ
- Bottlenose AmazonAPIにアクセスするライブラリ
-
- Beautiful Soup XMLパーサ
kondou.com - Beautiful Soup 4.2.0 Doc. 日本語訳 (2013-11-19最終更新)
2 とりあえず実装してみる
from bs4 import BeautifulSoup from bottlenose import api #amazonで取得した情報を設定する AMAZON_ACCESS_KEY_ID="*****" AMAZON_SECRET_KEY="*****" AMAZON_ASSOC_TAG="*****" amazon = api.Amazon(AMAZON_ACCESS_KEY_ID,AMAZON_SECRET_KEY, AMAZON_ASSOC_TAG, Region="JP") # 集英社の発売する本を発売日順(新しいものから古いもの)にソートしたXMLで取得 response = amazon_jp.ItemSearch(SearchIndex="Books",BrowseNode=10805021,Sort="daterank",ItemPage=1,ResponseGroup="Large") # バイト配列をunicodeの文字列に # コレをしないと日本語は文字化けします。 u_response = response.decode('utf-8','strict') # XMLをパース.BeautifulSoupの出番 soup = BeautifulSoup(u_response) # 商品情報はitemタグに入ってます。 # BeautifulSoupはオリジナルXMLタグを全て小文字にするようなので注意 items = soup.findAll("item") for item in items: #ここにやりたい処理を書く
こんな感じです。
PythonでAmazonのAPIにアクセスするライブラリは他にもあるけど、個人的にはBottlenoseが使いやすかったです。
というのもXMLのパース自体はすでにBeautifulSoupを利用していたので、そこまで多機能を求めていなかったってのもあります。
パラメータの設定は基本的なのを載せてますが、設定次第では色んな検索の仕方が出来そう。
BrowseNodeは公式サイトにある情報が古かったりするのでどうしたものか・・・。
いちおうBrowseNodeを取得するAPIがあるから自前で取得するしかないのかなぁ・・・。