【Day 26】PythonでYouTubeのコメントからAIで要約を生成しよう

未分類

YouTubeの動画説明や字幕が無いときでも、コメント欄を活用すれば視聴者のリアクションから内容を推測できます。
今回は、PythonでYouTubeのコメントを取得し、ChatGPTで内容を要約する方法をご紹介します!

📦 使用ライブラリ


pip install google-api-python-client openai

▶️ 概要

  • Google APIを使ってコメントを取得
  • ChatGPTでコメント内容を要約・分析

📝 Pythonコード例


from googleapiclient.discovery import build
import openai

# APIキー設定(自分のキーを入力)
YOUTUBE_API_KEY = "your_youtube_api_key"
openai.api_key = "your_openai_api_key"

# YouTubeコメント取得関数
def get_comments(video_id, max_comments=50):
    youtube = build("youtube", "v3", developerKey=YOUTUBE_API_KEY)
    request = youtube.commentThreads().list(
        part="snippet",
        videoId=video_id,
        maxResults=min(max_comments, 100),
        textFormat="plainText"
    )
    response = request.execute()
    comments = [
        item["snippet"]["topLevelComment"]["snippet"]["textDisplay"]
        for item in response.get("items", [])
    ]
    return comments

# ChatGPTで要約
def summarize_comments(comments):
    joined = "\n".join(comments[:20])  # 長すぎるとエラーになるため制限
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[
            {"role": "system", "content": "あなたはプロの要約ライターです。"},
            {"role": "user", "content": f"以下のYouTubeコメントを要約してください:\n{joined}"}
        ],
        temperature=0.7
    )
    return response.choices[0].message.content

# 実行
video_id = "dQw4w9WgXcQ"  # 実際の動画IDに置き換え
comments = get_comments(video_id)
summary = summarize_comments(comments)
print("✅ 要約結果:\n", summary)

📌 注意点

  • Google APIの有効化とAPIキー発行が必要
  • コメントが無効化されている動画では使えません
  • コメントが多い場合は一部を要約対象にするなど工夫が必要

✅ 活用例

  • 動画の視聴前に内容や反応をざっくり把握
  • 炎上やバズの傾向分析にも応用可能
  • コメント欄からブログ記事やレビューを自動生成

▶️ 次回予告

Day27では、PythonでYouTubeのサムネイルや再生回数を自動取得し、人気トレンドを分析するツールを作ります!

コメント

タイトルとURLをコピーしました