amazon Partner APIでアマゾンの商品情報を取得する

Pocket

アマゾンの商品を紹介するときは、アマゾンアソシエイトを利用しているのだが、
アマゾン公式のツールで商品を紹介する場合、どうしてデザインだったら欲しい情報がない場合がある。

自分独自の情報がだせるように、amazonのAPIを使って商品を紹介するにあたり必要な情報を自動的にとれるようにした。
作りにあたっては結構つまずくところがあったので、以下に紹介。

TooManyRequestsのエラーがでまくる

TooManyRequests
The request was denied due to request throttling. Please verify the number of requests made per second to the Amazon Product Advertising API.

APIキーを取得して、一回目のリクエストでこれが出た。一回目でアクセスしすぎ、というのは納得できない。

結局数日たったら自動で復旧した

日本のサイトではまだPartner API version4以前を使っている人が多く、Version5に対応している人は少ないので、
英語の情報を中心に探してみたが、英語のサイトでも同様の事象に遭遇している人が多かった。

APIはpythonを使うのであれば、python-amazon-paapiがおすすめ

ライブラリの使い方はこちらにありました。

私はいかのようなかたちで、URL,画像,ランキング情報などをとりました。

def main(asin):
   amazon = AmazonAPI(KEY, SECRET, TAG, COUNTRY, throttling=1)
    products = amazon.get_items(item_ids=[asin])
    product = products['data'][asin]
    data = {}
    data["url"]=product.detail_page_url
    data["image"]=product.images.primary.medium.url
    data["author"]=product.item_info.by_line_info.contributors[0].name
    data["company"]=product.item_info.by_line_info.manufacturer.display_value
    data["title"]=product.item_info.title.display_value
    data["ranking"]=product.browse_node_info.browse_nodes[-1].sales_rank

最近Python使っててライブラリがないことはほとんどないので、10年前と比べてもPythonは本当に便利になった。

Bill Lubanovic オライリージャパン
売り上げランキング: 22

コメントを残す