はじめに
YouTube動画のタイトルや再生回数、説明文などの情報をPythonで取得したいと思ったことはありませんか?この記事では、代表的な2つの方法――「YouTube Data API v3」を使う方法と、ライブラリ「pytube」を使う方法――をサンプルコード付きでわかりやすく解説します。
方法1:YouTube Data API v3を使う
概要
YouTube Data API v3は、Googleが公式に提供しているAPIです。動画やチャンネルの詳細情報、統計情報など幅広いデータを取得できます。
事前準備
- Google Cloud Platform(GCP)でプロジェクト作成
- YouTube Data API v3を有効化
- APIキーを取得
詳しい手順はGoogle Cloud Platformの公式ドキュメントを参照してください。
必要なライブラリのインストール
pip install google-api-python-client
サンプルコード:動画情報の取得
from googleapiclient.discovery import build
API_KEY = '取得したAPIキーを入力'
VIDEO_ID = '動画IDを入力' # 例: 'dQw4w9WgXcQ'
youtube = build('youtube', 'v3', developerKey=API_KEY)
response = youtube.videos().list(
part='snippet,statistics',
id=VIDEO_ID
).execute()
for item in response.get('items', []):
snippet = item['snippet']
statistics = item['statistics']
print('タイトル:', snippet['title'])
print('説明:', snippet['description'])
print('公開日:', snippet['publishedAt'])
print('再生回数:', statistics.get('viewCount'))
print('高評価数:', statistics.get('likeCount'))
print('コメント数:', statistics.get('commentCount'))
-
VIDEO_ID
はYouTube動画URLの「v=」以降の部分です(例:https://www.youtube.com/watch?v=dQw4w9WgXcQ
ならdQw4w9WgXcQ
)
方法2:pytubeライブラリを使う
概要
pytubeは、YouTube動画の情報取得やダウンロードができるPython用の非公式ライブラリです。APIキーの取得が不要なので手軽に使えます
インストール
pip install pytube
サンプルコード:動画情報の取得
from pytube import YouTube
url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
yt = YouTube(url)
print('タイトル:', yt.title)
print('チャンネル名:', yt.author)
print('再生回数:', yt.views)
print('長さ(秒):', yt.length)
print('公開日:', yt.publish_date)
print('説明:', yt.description)
print('サムネイルURL:', yt.thumbnail_url)
print('キーワード:', yt.keywords)
- 取得できる情報はタイトル、チャンネル名、再生回数、動画の長さ、説明文、サムネイルURL、キーワードなどです
その他の方法
- requestsやBeautifulSoupでWebページをパースする方法もありますが、YouTubeの仕様変更やJavaScriptによる動的生成により安定性に欠けるため、基本的にはAPIや専用ライブラリの利用をおすすめします
まとめ
- 公式API(YouTube Data API v3):幅広い情報を取得可能。APIキーが必要
- pytubeライブラリ:APIキー不要で手軽。動画の基本情報取得やダウンロードも可能
用途や取得したい情報に応じて、最適な方法を選んでください。どちらもPythonで簡単にYouTube動画情報を取得できますので、ぜひ活用してみてください!