30
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonとYoutube Data API(v3)で再生数を取得する

Posted at

何でこんなくだらないもの書くの?

Youtubeにアップロードされた動画再生数だけ取得したい。
……と、pythonのサンプルをいじってた時に思ったので覚書。

直接Youtubeで見れば良いじゃん!ですが、videoIdだけ取得出来てる状態の時に使えるかもしれない。

引数のidにはカンマ区切りで複数指定できます。
タイトルやチャンネルIDも表示させてますが、件数だけ欲しい人は、
part="id,snippet,statistics

part="statistics"
このようにstatisticsだけ指定してください。

#!/usr/bin/python

from apiclient.discovery import build
from apiclient.errors import HttpError
from oauth2client.tools import argparser

# Set DEVELOPER_KEY to the API key value from the APIs & auth > Registered apps
# tab of
#   https://cloud.google.com/console
# Please ensure that you have enabled the YouTube Data API for your project.
DEVELOPER_KEY = "あなたのAPIキーに変えてください"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"

def youtube_saerch_video(options):
  youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)

  videos_response = youtube.videos().list(
    part="id,snippet,statistics",
    id=options.id
  ).execute()

  videos = []

  for result in videos_response.get("items", []):
    videos.append("(%s) [%s] <%6s> %s" % (result["id"],
                                          result["snippet"]["channelId"],
                                          result["statistics"]["viewCount"],
                                          result["snippet"]["title"]))
  print("\n".join(videos), "\n")

if __name__ == "__main__":
  argparser.add_argument("--id", help="VideoIDs", default="Sq5QW3YqipM")
  args = argparser.parse_args()

  try:
    youtube_saerch_video(args)
  except HttpError as e:
    print("An HTTP error %d occurred:\n%s" % (e.resp.status, e.content))

終わりに

はい、サンプルコードのまんまです。Syntax Error 出まくりで Qiita の記事には助けられました。リンク面倒なのでいいねだけ押させていただきました。

【注意!】Qiitaの「いいね」ボタンを押しただけだと記事はストックされませんよ!

・・・。また見るのでストックさせていただきます。
pythonの学習途中に手を付けてしまったので、先輩方の添削をお願いします。

参考

Youtube Data API(v3)サンプル キーワードで検索

30
28
2

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
30
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?