AI任せのWeb開発奮闘記【第113話】

TAKAとAI老師の挑戦:Dailymotion APIとの戦い

TAKA: 「老師、大変だ!YouTube APIがリクエスト制限に引っかかって、動画が全然取得できないよ。」

AI老師: 「おお、それは困ったのう。しかしYouTubeだけが動画サイトではないぞ。他の選択肢を試す時が来たのではないか?」

TAKA: 「他の選択肢?」

AI老師: 「そうじゃ。今回はDailymotion APIを試してみるのじゃ。他のプラットフォームにも面白い動画がたくさんあるぞ。」

  1. Dailymotion APIの導入

TAKA: 「じゃあ、Dailymotion APIを使ってみる!何から始めればいいの?」

AI老師: 「まずはDailymotionの開発者ページでアカウントを作成し、APIキーを取得するのじゃ。」

TAKA: 「わかった、登録してAPIキーを取ってきたよ!次は?」

AI老師: 「次に、FlaskのバックエンドにDailymotionの動画を取得する処理を追加するぞ。」

TAKA: 「こんな感じのコードでいいかな?」

import requests

Dailymotion APIキー

DAILYMOTION_API_KEY = ‘あなたのAPIキー’

def search_dailymotion_videos(query, limit=5):
url = f’https://api.dailymotion.com/videos?search={query}&limit={limit}&fields=id,title,thumbnail_url,channel.name,views_total,created_time’
response = requests.get(url)
if response.status_code == 200:
return response.json().get(‘list’, [])
return []

@app.route(‘/search_dailymotion’)
def search_dailymotion():
query = request.args.get(‘query’, ”)
if query:
videos = search_dailymotion_videos(query)
return render_template(‘search_dailymotion.html’, query=query, videos=videos)
return redirect(url_for(‘index’))

AI老師: 「うむ、基本的には良いコードじゃな。ただし、APIのエラー処理をもう少し丁寧にすると、トラブルが起きたときの対処が楽になるぞ。」

  1. HTMLテンプレートの作成

TAKA: 「Flaskのルートは用意したけど、検索結果を表示するページがまだだ。」

AI老師: 「ならばsearch_dailymotion.htmlを作成して、動画のサムネイルやタイトルを表示するのじゃ。」

TAKA: 「こんな感じでどう?」


Dailymotion Search Results

Dailymotion Search Results

Search Results for “{{ query }}”

{% if videos %} {% for video in videos %}

{{ video.title }}

{{ video.title }}

Channel: {{ video[‘channel.name’] }}

Views: {{ video.views_total }}

Uploaded: {{ video.created_time }}

{% endfor %} {% else %}

No videos found for your query. {% endif %}

AI老師: 「見た目はシンプルだが、必要な情報が揃っておる。これで検索結果が見やすくなるじゃろう。」

  1. 動画の埋め込み

TAKA: 「でも、このままだとただの静止画だね。動画を再生するにはどうすればいい?」

AI老師: 「Dailymotionのプレーヤーを埋め込むのが良いじゃろう。以下のように、動画IDを使って埋め込みURLを生成するのじゃ。」 https://www.dailymotion.com/embed/video/%7B%7B%20video.id%20%7D%7D

TAKA: 「なるほど!埋め込みプレーヤーを使えば動画を直接再生できるんだね。」

  1. テストと結果

TAKA: 「やった!Dailymotionから動画を取得して、プレーヤーで再生できるようになったよ。」

AI老師: 「よくやったぞ、TAKA。これでYouTube以外のプラットフォームも活用できるようになったのう。」

TAKA: 「老師のおかげだよ!次はもっと便利な検索フィルターを追加したいな。」

AI老師: 「その意気じゃ。開発は一歩ずつ進めるのが肝要だぞ。」

解決した問題点

YouTube APIのリクエスト制限による機能停止。

Dailymotion APIを使用した動画検索と再生機能の実装。

今後の課題

検索フィルター機能の追加(再生時間やカテゴリーで絞り込み)。

複数プラットフォームを統合した検索結果表示。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です