ChatGPT先生おすすめのAPI

# はじめに

この記事は、[気になるWeb API使ってみた Advent Calendar 2024](https://qiita.com/advent-calendar/2024/webapi)の25日目の記事です。

ChatGPTは世の中の多数のAPIの情報を学習しているはずなので、おすすめのAPIを聞いてみようという企画です。

# ChatGPT先生に聞いてみる

![スクリーンショット 2024-12-20 21.19.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/27b786f7-252e-d70c-07a9-46cf454edfef.png)
![スクリーンショット 2024-12-20 21.20.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/2da26ef2-b3f6-13ed-cd58-4b28227f94e1.png)
![スクリーンショット 2024-12-20 21.20.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/a61449fa-2b95-f3b5-503a-3f9bdd04096f.png)
![スクリーンショット 2024-12-20 21.20.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/f7607ae5-cb56-2285-1682-e318c88d33c9.png)
![スクリーンショット 2024-12-20 21.20.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/f8791478-60fe-9d94-2d7f-b7c8b9631ebc.png)
![スクリーンショット 2024-12-20 21.20.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/158666f1-4481-cbb9-a078-94c9f02580d1.png)
![スクリーンショット 2024-12-20 21.20.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/33612812-9e33-6973-07bb-7b78e77e4fe8.png)
![スクリーンショット 2024-12-20 21.21.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/ac05cd99-30f6-5e32-7bf3-82e9ec862e74.png)

１、４、５、７は、言葉が出るタイプかな。
ChatGPT先生は言葉が出てくるAPIがお好み？

５の Bored APIはエラーになった。

１、４、７のAPIからデータを取得してみよう。

![スクリーンショット 2024-12-20 21.21.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/43b0dc47-2aa2-68dc-2930-a202edbe9712.png)
![スクリーンショット 2024-12-20 21.21.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/d6cc0b07-f0bd-be62-025c-8c7616686bbb.png)

```catfact.py
import requests

def get_cat_fact():
    url = "https://catfact.ninja/fact"  # Cat Facts APIのURL
    try:
        response = requests.get(url)
        response.raise_for_status()  # エラーがあれば例外を発生
        data = response.json()  # JSONデータを取得
        ![スクリーンショット 2024-12-21 14.21.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/e477045b-8941-62ad-9aec-3b04430e7e36.png)
print("🐱 猫のトリビア:")
        print(data['fact'])  # トリビアを表示
    except requests.exceptions.RequestException as e:
        print(f"エラーが発生しました: {e}")

# 実行
if __name__ == "__main__":
    get_cat_fact()
```
実行してみる。

![スクリーンショット 2024-12-20 21.06.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/d1834b77-92c0-9ba1-87d6-4e45fd7a8743.png)

にゃるほど。

次のAPIも試してみよう。
![スクリーンショット 2024-12-21 14.21.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/d8dbb9b8-1e3f-1143-3603-e8db07031ad1.png)

![スクリーンショット 2024-12-21 14.21.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/8e8498f1-f011-3c99-6247-ffa0e5e614e6.png)

```AdviceSlip.py
import requests

def get_random_advice():
    url = "https://api.adviceslip.com/advice"  # Advice Slip APIのURL
    try:
        response = requests.get(url)
        response.raise_for_status()  # HTTPエラーを確認
        data = response.json()  # JSON形式のレスポンスを解析
        print("💡 今日のアドバイス:")
        print(data['slip']['advice'])  # アドバイスを取得して表示
    except requests.exceptions.RequestException as e:
        print(f"エラーが発生しました: {e}")

# 実行
if __name__ == "__main__":
    get_random_advice()
```

猫の時は猫のアイコン、アドバイスの時は電球のアイコンを勝手に入れてきている＞ChatGPT
すごいな・・。

これも実行してみる。


![スクリーンショット 2024-12-20 21.07.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/a8e04bc2-375d-68f4-2d25-f2b66d6d0249.png)

> If you want to be happily married, marry a happy person.

確かにそうかもしれない。相手から見たら、自分がhappy personである必要があるということと感じた。

次行ってみよう。

![スクリーンショット 2024-12-21 14.46.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/d6eee23e-cb99-11f5-d479-dcc932e6d4dc.png)

```ChuckNorrisJokes.py
import requests

def get_chuck_norris_joke():
    url = "https://api.chucknorris.io/jokes/random"  # Chuck Norris Jokes APIのURL
    try:
        response = requests.get(url)
        response.raise_for_status()  # エラーがあれば例外を発生
        data = response.json()  # JSONデータを取得
        print("🤣 Chuck Norris Joke:")
        print(data['value'])  # ジョークを表示
    except requests.exceptions.RequestException as e:
        print(f"エラーが発生しました: {e}")

# 実行
if __name__ == "__main__":
    get_chuck_norris_joke()
```

![スクリーンショット 2024-12-21 14.50.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1032713/16a38b92-8216-04ee-15c8-4f929660b5aa.png)

うむ、これがアメリカンジョークであるか？

# まとめ

ChatGPTのお気に入りのAPIは、何か言葉をランダムに出してくれるAPIの様子。
単純なAPIアクセスはChatGPTでコード生成できる。

以上、ChatGPT先生おすすめのAPIでした。

最後までご覧いただきましてありがとうございました。