![見出し画像](https://assets.st-note.com/production/uploads/images/102394383/rectangle_large_type_2_21c18b055b8eb6c731a5a2cbf69896df.png?width=1200)
Photo by
amica_2020
アプリケーションに遊び心を!
単純作業を繰り返してもらうアプリを作ったんですが、どうも単調で作業者がすぐに飽きてしまいます。
楽しんで作業してもらいたいんだけど何かないものか。。
そんな時にこのAPIを見つけました。
トリビアAPIなんです。
![](https://assets.st-note.com/img/1680763477240-oeOvtWBVu1.png?width=1200)
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"]はエンコードをかけないと、このような感じで空白が文字列になったりします。
![](https://assets.st-note.com/img/1680764546758-FNqHKyfX7q.png?width=1200)
でも英語か。。。
と思いましたが翻訳する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)
![](https://assets.st-note.com/img/1680765144442-MUBYqoUJQT.png?width=1200)
この時点でなかなかのトリビアに出会えましたね。。。
Firefoxの由来はレッサーパンダだったんですね。
![](https://assets.st-note.com/img/1680765267398-UpMCL2KZob.png?width=1200)
こういう遊び心を持ってユーザーの心を掴めたらなと思います。
では!!
この記事が気に入ったらサポートをしてみませんか?