【Day38】YouTubeチャンネルの人気動画情報を分析するAIツール

YouTubeチャンネルの人気動画情報を分析するAIツール 未分類

今回は、YouTubeチャンネルの人気動画を自動取得し、AI(ChatGPT)で分析するPythonツールを紹介します。
話題のコンテンツや再生回数の傾向を可視化することで、動画制作・マーケティング戦略に活用できる実用的な内容です。

🔍 ツールの概要

  • 特定のYouTubeチャンネルの動画情報を取得
  • 再生回数・キーワード・投稿日などを一覧化
  • ChatGPTで「人気の共通点」や「おすすめ戦略」を要約

🔧 必要な準備

pip install google-api-python-client openai pandas

✅ APIキーの準備

  • YouTube Data API v3(Google Cloud Consoleで取得)
  • OpenAI APIキー(ChatGPT分析用)

💻 サンプルコード


from googleapiclient.discovery import build
import openai
import pandas as pd

# APIキー設定
YOUTUBE_API_KEY = "YOUR_YOUTUBE_API_KEY"
OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"
openai.api_key = OPENAI_API_KEY

# 対象チャンネルID
channel_id = "UCXXXXXXXXXXXX"

# YouTube APIクライアント
youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY)

# チャンネルのアップロード動画一覧を取得
res = youtube.channels().list(part='contentDetails', id=channel_id).execute()
playlist_id = res['items'][0]['contentDetails']['relatedPlaylists']['uploads']

# 最新動画を取得
videos = []
next_page_token = None
while True:
    pl_request = youtube.playlistItems().list(
        part='snippet', playlistId=playlist_id,
        maxResults=10, pageToken=next_page_token
    )
    pl_response = pl_request.execute()

    for item in pl_response['items']:
        video_id = item['snippet']['resourceId']['videoId']
        title = item['snippet']['title']
        pub_date = item['snippet']['publishedAt']

        # 動画の統計データ
        vid_request = youtube.videos().list(part='statistics', id=video_id)
        vid_response = vid_request.execute()
        views = vid_response['items'][0]['statistics'].get('viewCount', 0)

        videos.append({
            "タイトル": title,
            "投稿日": pub_date,
            "再生回数": int(views)
        })

    next_page_token = pl_response.get('nextPageToken')
    if not next_page_token:
        break

# データフレーム化
df = pd.DataFrame(videos)
df_sorted = df.sort_values(by="再生回数", ascending=False)
df_sorted.to_csv("人気動画ランキング.csv", index=False, encoding="utf-8-sig")

# ChatGPTで分析
top_titles = "\n".join(df_sorted.head(5)["タイトル"])
prompt = f"""次のYouTube動画タイトルを分析して、人気の共通点やテーマの傾向、ターゲット層を日本語で簡潔に教えてください。\n\n{top_titles}"""
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": prompt}]
)
summary = response["choices"][0]["message"]["content"]
print("✅ 人気動画の分析結果:\n", summary)

📈 活用のヒント

  • 人気YouTuberの動画構成を分析して参考にする
  • 動画制作のネタ出しに使う
  • トレンド把握&自社マーケティングへの応用

⚠ 注意点

  • YouTube APIは取得件数に制限があります
  • ChatGPTの分析結果は参考情報として活用しましょう

▶️ 次回予告

Day39では、Instagramの投稿データをAIで要約&キーワード抽出するツールを紹介予定です。

コメント

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