Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

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)サンプル キーワードで検索

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away