0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

YouTube Data APIを使って動画情報を取得する方法【Python】

Last updated at Posted at 2025-10-05

はじめに

公式ドキュメントを読んでも実装方法がわかりづらく、完成まで時間がかかりました。
さらにネット上の記事も情報が古く、そのままでは動かないことが多かったため、今回あらためて手順をまとめました。

本記事では、Pythonを用いて、YouTube Data API v3を利用し、短いスクリプトで効率的に処理できるようにします。

準備


  • ライブラリをpip
pip.
pip install google-api-python-client

  • 動画idの取得
    動画idは、Youtubeで動画を開いたときのリンクに表示されます。
    リンクのイコール以降の赤枠部分を控えてください。
    5.png

動画情報を取得する

動画IDを指定して実行することにより、動画情報を取得する事が出来ます。
例として、動画のタイトルを取得してみました。

movie.py
from googleapiclient.discovery import build

API_KEY = 'APIキーを入力'
video_id = "動画ID"  # 

youtube = build("youtube", "v3", developerKey=API_KEY)

## 動画からチャンネルIDを取得
response = youtube.videos().list(
    part="snippet",
    id=video_id
).execute()

title = response["items"][0]["snippet"]["title"]

print("動画のタイトル: ", title)



正しく取得する事が出来ました

15.PNG
動画は、私のにゃんこの動画です(笑)

他の情報も取得してみる

動画タイトルだけでなく他の情報も取得してみたいと思います。
上記に記載したソースコードを変更します。

変更.py
response = youtube.videos().list(
    part="snippet,statistics,contentDetails", #ここを変更しました。
    id=video_id
).execute()

以下全

movie.py
# チャンネルアイコンを取得する
from googleapiclient.discovery import build

API_KEY = 'APIキーを入力'
videoId = "動画ID"

youtube = build("youtube", "v3", developerKey=API_KEY)

# # 動画情報を取得
video_response = youtube.videos().list(
    part="snippet,statistics,contentDetails",
    id=videoId
).execute()

video_item = video_response["items"][0]
v_snippet = video_item["snippet"]
v_stats = video_item["statistics"]
v_details = video_item["contentDetails"]


# 動画データ
print("=== 動画情報 ===")
print("タイトル:", v_snippet["title"])
print("説明:", v_snippet.get("description", "なし")[:100], "...")
print("公開日:", v_snippet["publishedAt"])
print("チャンネル名:", v_snippet["channelTitle"])
print("サムネイル:", v_snippet["thumbnails"]["high"]["url"])
print("再生回数:", v_stats.get("viewCount", "N/A"))
print("高評価数:", v_stats.get("likeCount", "N/A"))
print("コメント数:", v_stats.get("commentCount", "N/A"))
print("動画時間:", v_details["duration"])

問題なく取得できました。
16.PNG

構造をざっくりまとめる

今回は構造をざっくりと画像でまとめてみました。
より詳しい項目や活用例については、今後別記事で紹介できればと思います。
無題のプレゼンテーション.png

まとめ

今回は、かなり大雑把にですが、YouTube APIを使って動画情報を取得してみました。
今後、構造について分析してみたり、チャンネル情報を取得する方法もまとめてみたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?