Startup Data scientist Blog

データ分析系のテック情報を発信します

DMMでAPIによりクリスマスギフトになりそうな商品情報を取得するpythonコード

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}")