ChatGPTで作成:DMM Web APIを使って商品情報を取得するPythonコード

ChatGPT

DMM Web APIで商品情報を取得するPythonコードを作成

DMM Web APIで商品情報を取得するを知りたかったのですが、私はPythonをほとんど使ったことが無かく、Web APIというのも使ったことがなかったので、試しにChatGPTにお願いしてPythonのサンプルコードを作ってもらってみました。

なんと、すごいですね。ほとんどそのまま使って、情報を取得できました。

恐るべしChatGPT!!

ChatGPTへの質問と回答

依頼した内容と得た回答は以下です。

質問

DMMのWeb APIを使って、情報を取得するPythonのコードのサンプルを作ってもらうことはできますか。

ChatGPTの回答

DMMのWeb APIを利用して情報を取得するためのPythonのコードサンプルを作成することは可能です。DMM APIを利用するには、まずDMMの開発者アカウントを作成し、APIキーを取得する必要があります。以下は、DMM APIを使って特定のカテゴリの商品情報を取得する基本的なPythonコードの例です。

このコード例では、requestsライブラリを使用してAPIにリクエストを送り、結果をJSON形式で受け取ります。まだrequestsライブラリをインストールしていない場合は、pip install requestsを実行してインストールしてください。

import requests

# DMM APIのエンドポイント
API_ENDPOINT = 'https://api.dmm.com/affiliate/v3/ItemList'

# あなたのAPI IDとアフィリエイトIDをここに設定してください
API_ID = 'your_api_id'
AFFILIATE_ID = 'your_affiliate_id'

# APIリクエストのパラメータを設定
params = {
    'api_id': API_ID,
    'affiliate_id': AFFILIATE_ID,
    'site': 'DMM.com', # 'DMM.com' または 'DMM.co.jp'
    'service': 'mono', # 利用したいサービス名
    'floor': 'dvd', # 利用したいフロア名
    'sort': 'date', # ソート順
    'hits': 20, # 取得する商品数
    'offset': 1 # 開始位置
}

try:
    # APIリクエストを送信
    response = requests.get(API_ENDPOINT, params=params)
    response.raise_for_status() # HTTPエラーがあれば例外を発生させる

    # レスポンスのJSONデータを取得
    data = response.json()

    # 取得したデータを表示(ここでは商品名と価格を表示)
    for item in data['result']['items']:
        print(f"商品名: {item['title']}, 価格: {item['iteminfo']['price'][0]['name']}")
except requests.exceptions.RequestException as e:
    print(f"リクエスト中にエラーが発生しました: {e}")

このコードはDMM APIを使用して特定のカテゴリの商品情報を取得するためのものです。API_IDAFFILIATE_IDには、DMMの開発者サイトで取得した自分のAPI IDとアフィリエイトIDを設定してください。また、servicefloorの値を変更することで、異なる種類の商品や情報を取得できます。

APIの詳細な仕様や利用可能なパラメータ、サービス名やフロア名はDMM APIの公式ドキュメントを参照してください。

修正したコードとその出力

商品情報をログを出力するところとか、指定が少し間違っており、エラーになったため修正しましたが、ほとんどそのまま使えました。
ほんと感心します!

修正版コード

import requests

# DMM APIのエンドポイント
API_ENDPOINT = 'https://api.dmm.com/affiliate/v3/ItemList'

# あなたのAPI IDとアフィリエイトIDをここに設定してください
API_ID = 'your_api_id'
AFFILIATE_ID = 'your_affiliate_id'

# APIリクエストのパラメータを設定
params = {
    'api_id': API_ID ,
    'affiliate_id': AFFILIATE_ID,
    'site': 'DMM.com', # 'DMM.com' または 'DMM.co.jp'
    'service': 'ebook', # 利用したいサービス名
    'floor': 'comic', # 利用したいフロア名
    'sort': 'rank', # ソート順
    'hits': 10, # 取得する商品数
    'offset': 1, # 開始位置
}

try:
    # APIリクエストを送信
    response = requests.get(API_ENDPOINT, params=params)
    response.raise_for_status() # HTTPエラーがあれば例外を発生させる

    # レスポンスのJSONデータを取得
    data = response.json()

    # 取得したデータを表示(ここでは商品名と価格を表示)
    for item in data['result']['items']:
        print(f"商品名: {item['title']}, 価格: {item['prices']['price']}")
except requests.exceptions.RequestException as e:
    print(f"リクエスト中にエラーが発生しました: {e}")

実行結果

ちゃんと情報を取得できました。

DMM APIリファレンス

ちなみに、DMMのweb Apiのリファレンスは以下です。
リンク:https://affiliate.dmm.com/api/v3/itemlist.html

WEB SERVICE BY DMM.com

コメント

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