【Python】API を使って YouTube から動画情報を収集する方法。
API を使って YouTube から動画情報を収集してみたときのメモです。
OS は Linux の Ubuntu です。
Contents
API キーを取得
YouTube は Google が運営しているため、AIP を利用するためには、Google のアカウントが必要となります。
YouTube Data API の APIキーが必要となります。取得方法はここでは割愛させていただきます。
以下の Google API Console にアクセスし、APIキーを取得します。
https://console.developers.google.com/?hl=JA
環境変数からAPIキーを読み込む
先ほど取得したAPIキーを、そのままソースコードに書いてしまうとセキュリティ的に危険なので、外部の隠しファイルから読み込むようにします。
スクリプトと同じディレクトリに「.env」というファイルを作成します。ファイルの中身は以下のようにします。
YOUTUBE_API_KEY=APIキー
google-api-python-client をインストール
以下のコマンドで google-api-python-client をインストールします。
1 2 3 |
$ sudo pip install google-api-python-client $ sudo python3 -m pip install google-api-python-client |
YouTube 動画情報検索スクリプト
以下のようなスクリプトを実行すると、タイトル一覧が取得できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# coding:utf-8 import os from apiclient.discovery import build # 環境変数からAPIキーを取得する YOUTUBE_API_KEY = os.environ['YOUTUBE_API_KEY'] youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY) search_response = youtube.search().list( part='snippet', q='garnet crow', type='video', ).execute() for item in search_response['items']: print(item['snippet']['title']) |
実行コマンド。外部から環境変数を読み込むため「forego run」を使います。
1 |
$ forego run python search_youtube_videos.py |
実行結果。
GARNET CROW【作業用BGM】
HD GARNET CROW 夏の幻
GARNET CROW 夢みたあとで
GARNET CROW – 涙のイエスタデー
晴れ時計 GARNET CROW (歌詞あり)
参考書籍
これらの内容は、以下の書籍を参照しました。
関連記事
-
【Python】API を使って Amazon の商品情報を収集する方法。
AmazonAPI ライブラリをインストール 以下のコマンドで python-amazon-sim
-
【Python】Requests ライブラリを使って Web ページを取得してみた。
python の標準ライブラリ urllib を使っても Web ページの取得はできるのですが、Re
-
【Python】機械学習のために SciPy・Matplotlib・scikit-learn をインストール。
Python で機械学習を行うために、Windows OS の python 2 系にライブラリ「S
-
【Pandas】 DataFrame と Series のデータ構造について【Python】
今回は、Python でデータ分析を行っていると必ず使う Pandas の DataFrame と
-
【Python】 DataFrame の特定の列で出現回数をカウントして降順でソートする方法。
Python で DataFrame 型の特定の列を指定して、対象列の文字列の出現回数をカウントして
-
【Atomエディタ】Python 開発用にインストールしてみた。
Python でプログラミングするときの エディタ を探していたのですが、とりあえず Atom とい
-
【OpenCV】検出した顔画像部分を切り出す方法【Python】
OpenCV を使って、Python で画像の中から顔部分を切り出したときのメモです。 顔部分
-
【Pandas】 DataFrame のある列の最大値を含む行のインデックス値を取得する方法。
今回は、Pandas の DataFrame において、ある列で最大値を求めて、その最大値をもつ行に
-
【Python】プログレスバーを表示させる【tqdm】
Python でスクリプトの実行時間が長くなると、進捗状況が知りたくなったので、標準出力にどのくらい
-
【Pandas】 DetaFrame の列ごとに演算する方法【Python】
今回は、DetaFrame の列ごとに平均や加算・減算なのど演算をし、結果を DetaFrame 型