今回は、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で要約&キーワード抽出するツールを紹介予定です。
コメント