◆当ページにはプロモーションが含まれています

Python

【サンプルコード付き】YouTube の検索結果を取得! – YouTube APIを使ってみる【Python】

みなさん、こんにちは。どんぶラッコです。

今回は、YouTubeが提供しているAPIを使って、動画検索ををPythonから行うチュートリアルをやってみましょう!

HTTP通信をする、となると前回のように requests や Beatutifulsoup を使うのかな…? と考えると思います。

https://proglearn.com/2020/01/28/%e3%80%90python%e3%80%91%e7%ab%a5%e8%ac%a1%e3%81%ae%e6%9b%b2%e4%b8%80%e8%a6%a7%e3%82%92%e5%8f%96%e5%be%97%e3%81%97%e3%81%a6%e3%81%bf%e3%82%88%e3%81%86%ef%bc%81-%e3%82%b9%e3%82%af%e3%83%ac%e3%82%a4/

でも、今回はそれよりももっと簡単です!何故ならばGoogleが便利なライブラリを用意してくれているからです!

ここでは、一番基礎の「入力キーワードを元に検索結果を表示する」をやってみましょう!

こんな感じの情報が取得できます!

YouTube API キーを取得する

そもそも、YouTubeのAPIを使うには、APIを使うための鍵(キー)を取得する必要があります。

このブログでも後日まとめ記事を作ろうと思いますが、まずは外部サイトを参照しながらAPIキーを作ってみてくださいm(_ _)m

公式サイト

外部サイト(APIキー取得方法)

こちらの記事が丁寧でわかりやすかったです。

http://piyohiko.webcrow.jp/kids_tube/help/index.html

サンプルコード

from apiclient.discovery import build
from apiclient.errors import HttpError

# API情報
DEVELOPER_KEY = '[取得したAPIキー]'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'

youtube = build(
    YOUTUBE_API_SERVICE_NAME, 
    YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY
    )

search_response = youtube.search().list(
  q='[検索したいキーワード]',
  part='id,snippet',
).execute()

search_response

[取得したAPIキー]、[検索したいキーワード] はご自身のAPIキー、検索ワードに置き換えてください。

うまくいっていれば、このような結果が表示されます!

今回は「プログラミング」で検索をしてみました。

JSON形式 (Pythonでは辞書型に変換されます)で取得されていることがわかります。

あとは、冒頭のようにそれぞれのタイトルと投稿日時を取得したい場合は、for文でそれぞれのパラメータを抽出してあげましょう。

for sr in search_response.get("items", []):
  print(sr['snippet']['title'])
  print(sr['snippet']['publishedAt'])

apiclient が見つからない場合。

今回はColaboratory上でコードを記述しましたが、ローカル環境で開発をしていた場合、apiclientのライブラリが見つからない!と怒られるかもしれません。

その場合はgoogleが提供しているライブラリを pip でダウンロードしておきましょう。

pip install google-api-python-client

これでOKです!


YouTube API では、もっと詳細な検索条件をつけることが可能です!

ぜひ公式サイトの仕様もチェックしてみてください♪

https://developers.google.com/youtube/v3/docs/search/list

エンジニアにおすすめ転職サイト

マイナビIT AGENT
迷ったらまずはココ。求人数が多いため希望や条件にマッチする求人が見つかる!

レバテックキャリア
担当者のレベルが高い。エンジニア特化で15年の実績がある実績で初回提案での内定率驚異の90%!

JOIN
副業やフリーランスとして高額報酬案件を見つけるならJOIN。未経験者でも案件獲得実績豊富が強み!

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
一緒によく読まれている記事

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です