Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
26
Help us understand the problem. What is going on with this article?
@funsuke

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

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

26
Help us understand the problem. What is going on with this article?
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
funsuke
車輪の再発明しても転がらない。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
26
Help us understand the problem. What is going on with this article?