見出し画像

ChatGPTでWebAPIからデータ取得するコードを書く

1.WebAPIを活用して、アンケート結果を取得する

今回はWebAPIを活用して、アンケート結果を取得するPythonコードをChatGPTに聞いてみます。

WebAPIはインターネット上で何らかの処理の実行や、データ取得を行ったりする機能のことです。

今回はクジラWeb APIさんをお借りして、アンケート結果を抽出するPythonプログラムを書いてみます。

2.ChatGPTへのプロンプト

#命令
Pythonを用いてリンク先のJSONファイルからデータを抽出しグラフ化するコードを作ってください

#条件
条件①リンク先をurl変数に格納する。
条件②json_data変数にrequest.get(url)でurlを格納する
条件③インターネットアクセスが出来ている前提とします
条件④japanize_matplotlibをインポートしグラフ上の日本語表示を可能にする

#リンク先 https://api.aoikujira.com/like/api.php?m=get&item_id=3

#JSONファイル {"result":true,"author":"名無し","question":"好きな音楽のジャンルは?","answers":[{"label":"ロック","point":22},{"label":"ジャズ","point":8},{"label":"ポップス","point":8},{"label":"シャンソン","point":6},{"label":"クラシック","point":8},{"label":"ヒップホップ","point":9}],"create_time":"2022-07-14 10:47:00","update_time":"2023-06-07 22:15:51"}

ChatGPTへの質問

条件設定について

条件①APIをurl変数に格納
APIを取得する書式は下記の通りです。

https://api.aoikujira.com/like/api.php?m=get&item_id=(質問ID)

今回はid3のAPIなのでリンク先としてhttps://api.aoikujira.com/like/api.php?m=get&item_id=3を提示し、url変数に格納してもらいました。

条件②requests.get()メソッドでデータを取得する
requests.get()
メソッドは、Pythonのrequestsライブラリで提供されるHTTP GETリクエストを行う関数です。このメソッドを使用すると、指定したURLからデータを取得できます。

条件③インターネットに接続している前提とする
ChatGPTはインターネットに接続している前提の指示を出すと、「インターネットには接続していません」と言われるのであらかじめ前提を共有しまあす。

条件④japanize_matplotlibを使う
これは日本語を使えるようにするライブラリなので利用をお願いします。

3.ChatGPTの回答

import requests
import json
import matplotlib.pyplot as plt
import japanize_matplotlib  # 条件④: japanize_matplotlibをインポート

# 条件①: リンク先をurl変数に格納
url = 'https://api.aoikujira.com/like/api.php?m=get&item_id=3'

# 条件②: json_data変数にrequest.get(url)でurlを格納
response = requests.get(url)
json_data = response.json()

# データを抽出
labels = [answer['label'] for answer in json_data['answers']]
points = [answer['point'] for answer in json_data['answers']]

# グラフを作成
plt.figure(figsize=(10, 6))
plt.barh(labels, points, color='skyblue')
plt.xlabel('得点')
plt.ylabel('音楽のジャンル')
plt.title('好きな音楽のジャンル')
plt.show()


出力されたグラフ

この記事が気に入ったらサポートをしてみませんか?