PythonでAmazon APIを使う方法

Pythonで「PA-API v5」を使う方法を簡単にまとめます。Macの場合です。

まず大前提としてAmazonアソシエイトの紹介料が直近30日以内に発生していないとAPIは使えません。
私も最近、紹介料がなく、使えませんでしたが、3日前にようやく発生し、また使えるようになりました。

アクセスキーの取得

次の通り取得します。

アソシエイト・セントラルのツールのドロップダウンメニューにある「Product Advertising API」で、既存のアクセスキーを確認したり新しいアクセスキーを生成することができます。

準備

python-amazon-paapiをインストールします。
python-amazon-paapi · PyPI

コード

(2024年8月26日追記 仕様変更に伴い全面的に書き直しました。)

{key}にはアクセスキーIDをセットします。英大文字、数字からなる文字列です。
{secret}にはシークレットアクセスキーをセットします。英大文字、英小文字、数字、記号からなる文字列です。
{tag}にはアソシエイトIDをセットします。私の場合は末尾に「-22」が付いています。

keywordsとして「metallica master of puppets」を指定しています。
item_countとして「3」をセットしています。検索結果が3件返ってきます。

from amazon_paapi import AmazonApi

def main():
    key = "{key}"
    secret = "{secret}"
    tag = "{tag}"
    country = "JP"
    amazon = AmazonApi(key, secret, tag, country)

    keywords = "metallica master of puppets"
    item_count = 3

    search_result = amazon.search_items(item_count=item_count, keywords=keywords)
    for item in search_result.items:
        print(item.asin)
        print(item.item_info.title.display_value)
        print(item.item_info.by_line_info.contributors[0].name)
        print(item.images.primary.large.url)

if __name__ == "__main__":
    main()

出力結果

B075795D51
MASTER OF PUPPETS (REMASTERED) [LP] (180 GRAM) [Analog]
METALLICA
https://m.media-amazon.com/images/I/51EqFkVSFnL._SL500_.jpg

B0757HTJCZ
MASTER OF PUPPETS (REMASTERED) [CD]
METALLICA
https://m.media-amazon.com/images/I/51I0zpq4CYL._SL500_.jpg

B0757DV91P
MASTER OF PUPPETS (REMASTERED EXPANDED EDITION) [3CD]
METALLICA
https://m.media-amazon.com/images/I/511mV9j0Q1L._SL500_.jpg

コメント

タイトルとURLをコピーしました