DMMが提供している商品情報API version3.0を活用して商品情報を取得するpythonスクリプトです。
import requests
# DMM APIのエンドポイント
API_ENDPOINT = 'https://api.dmm.com/affiliate/v3/ItemList/'
# あなたのAPI IDとアフィリエイトID
API_ID = ''
AFFILIATE_ID = ''
keywords = ['ギフト'] #検索したいキーワード
# APIリクエストのパラメータを設定
params = {
'api_id': API_ID,
'affiliate_id': AFFILIATE_ID,
'site': 'DMM.com',
'service': 'digital', # フロアAPIから取得
'sort': 'match', # ソート順(rank,match or date)
'hits': 15, # 取得する商品数
'offset': 1, # 取得する商品の開始位置
'keyword': keywords, # キーワードをカンマ区切りに変換
'output': 'json' # レスポンスのフォーマットを指定
}
try:
response = requests.get(API_ENDPOINT, params=params)
response.raise_for_status() # HTTPエラーの検出
data = response.json() # レスポンスをJSON形式に変換
# API固有のエラーチェック
if 'result' not in data or 'items' not in data['result']:
raise Exception("APIレスポンスにエラーがあります。")
# 取得したデータを表示(商品名と価格など)
for item in data['result']['items']:
title = item.get('title', '不明')
price = item.get('prices', {}).get('price', '不明')
affiliate_url = item.get('affiliateURL', 'URL不明')
print(f"{title}, 価格: {price}, : {affiliate_url}")
except requests.exceptions.RequestException as e:
print(f"リクエストエラー: {e}")
except Exception as e:
print(f"予期しないエラー: {e}")