どうもイトサル(@itosaru)です。

PA-APIでキーワードから商品情報を取得する方法を教えてください
AmazonのProduct Advertising API(以下:PA-API)v5.0でキーワードから商品情報を取得するためには
「search_items」オペレーションを使います。
この記事ではその「search_items」の使い方について説明していきます。
またプログラムの言語はPythonを使用します。
オペレーションとはメソッドのこと
最初にオペレーションについて簡単に説明します。
オペレーションとはPA-APIにおける情報を取得するためのメソッドのことです。
オペレーションに引数(パラメータ)を渡して呼び出すことで情報を取得することができます。
search_itemsの使い方
「search_items」を使うためには検索キーワードをパラメータで渡す必要があります。
キーワードはスペース区切りの複数条件を指定することができます。
テストプログラム
試しに「プログラミング 本」のキーワードで商品情報を取得するプログラムを作成しました。
なお、PythonでPA-APIを使うためには事前にpipコマンドでAmazonAPIをインストールしておく必要があります。
まだインストールが済んでいない場合は下のコマンドをコマンドプロンプトで実行し、インストールしましょう。
pip install amazon-paapi5
kwd変数のに検索キーワードを設定しています。
from amazon_paapi import AmazonApi
"""
# API情報
API_KEY = "アクセスキーを入力"
API_SECRET = "シークレットキーを入力"
TrackingID = "トラッキングIDを入力"
COUNTRY = "JP"
"""
# API情報
API_KEY = "AKIAIFDHZ744ACZJZWNQ"
API_SECRET = "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"
TrackingID = "shin91240d-22"
COUNTRY = "JP"
# API実行オブジェクト
amazon = AmazonApi(API_KEY, API_SECRET, TrackingID, COUNTRY)
# 商品検索
def variations(code):
results = amazon.get_variations(code)
return results.items
# 引数情報
code=["B09Y9JMPBN"]
# 関数実行
results = variations(code)
# 出力確認
for i,result in enumerate(results):
print("検索結果("+str(i+1)+")")
print("商品名: " + result.item_info.title.display_value) # 商品名
print("広告リンク: " + result.detail_page_url) # 広告リンク
try:
print("価格: " + str(result.offers.listings[0].price.amount)) # 価格
except:
pass
print("\n")
プログラムの実行結果
上記のプログラムを実行した結果がこちらです。

商品情報の取得件数はデフォルトで最大10件です。
取得件数を変更したい場合は
item_count
をパラメータに追加することで取得する件数1~10件の間で指定することができます。
from amazon_paapi import AmazonApi
# API情報
API_KEY = "アクセスキーを入力"
API_SECRET = "シークレットキーを入力"
TrackingID = "トラッキングIDを入力"
COUNTRY = "JP"
# API実行オブジェクト
amazon = AmazonApi(API_KEY, API_SECRET, TrackingID, COUNTRY)
# 商品検索
def keyword_search(kwd):
results = amazon.search_items(item_count=2, keywords=kwd)
return results.items
# 引数情報
kwd = "プログラミング 本"
# 関数実行
results = keyword_search(kwd)
# 出力確認
for i,result in enumerate(results):
print("検索結果("+str(i+1)+")")
print("商品名: " + result.item_info.title.display_value) # 商品名
print("広告リンク: " + result.detail_page_url) # 広告リンク
print("価格: " + str(result.offers.listings[0].price.amount)) # 価格
print("\n")
また、このパラメータ以外にも商品カテゴリを指定したり、商品の状態(新品や中古など)を指定するものがあります。
詳しくは公式リファレンスをご覧ください。
まとめ
この記事ではPA-APIでキーワードから商品情報を取得する方法について説明しました。
改めて内容について振り返ります。
- 「search_items」を使う
- パラメータに検索キーワードを入れる(キーワードはスペース区切りで複数指定できる)
- 取得件数などをパラメータで指定できる
コメント