見出し画像

アプリケーションに遊び心を!

単純作業を繰り返してもらうアプリを作ったんですが、どうも単調で作業者がすぐに飽きてしまいます。

楽しんで作業してもらいたいんだけど何かないものか。。

そんな時にこのAPIを見つけました。

トリビアAPIなんです。

API用のURL作成ジェネレータもついている親切っぷりです。
カテゴリから歴史やスポーツなどを選択することもできます。
ただ、それほど問題数は多くないみたいです。

url = "https://opentdb.com/api.php"

# リクエストパラメータ
params = {
    "amount": 1,  # 取得する質問数
    "type": "boolean",  # 質問のタイプ(multipleは複数選択肢)
    "encode": "url3986",  # URLエンコーディング方式
    "catgory":27 # 動物
}

# APIリクエストを送信してレスポンスを取得
response = requests.get(url, params=params)

# レスポンスからJSONデータを取得
data = json.loads(response.text)

# 問題
print(urllib.parse.unquote(data["results"][0]["question"]))
# 回答
print(data["results"][0]["correct_answer"])

data["results"][0]["question"]はエンコードをかけないと、このような感じで空白が文字列になったりします。

でも英語か。。。

と思いましたが翻訳するAPIも世の中にはあります。

詳細は語りませんが、こんな感じにすることで英語を翻訳することだってできます。

url = "https://opentdb.com/api.php"

# リクエストパラメータ
params = {
    "amount": 1,  # 取得する質問数
    "type": "boolean",  # 質問のタイプ(multipleは複数選択肢)
    "encode": "url3986",  # URLエンコーディング方式
    "category": 27
}

# APIリクエストを送信してレスポンスを取得
response = requests.get(url, params=params)

# レスポンスからJSONデータを取得
data = json.loads(response.text)

question = urllib.parse.unquote(data["results"][0]["question"])
answer = data["results"][0]["correct_answer"]
print(question)
print(answer)

translate_question=requests.get(
    # 無料版のURL
    "https://api-free.deepl.com/v2/translate",
    params={
        "auth_key": "XXXXXXXXXXXXXXXXXXXXXXX",
        "target_lang": "JA",
        "text": question,
    },
)
print(translate_question.json()["translations"][0]["text"])
print(answer)
TERMINAL

この時点でなかなかのトリビアに出会えましたね。。。
Firefoxの由来はレッサーパンダだったんですね。

こういう遊び心を持ってユーザーの心を掴めたらなと思います。

では!!

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