[Python] YouTubeのAPIを利用して、再生数/コメント数/高評価数などをcsvに出力するプログラム

Python
スポンサーリンク

こんにちはーー

YouTubeのAPIとPythonを使って、再生数,コメント数,高評価数などをcsvに出力してみたので記事にしました。

この記事が誰かの役に立てば幸いです。

ちなみに、超ざっくり動画にもしました(コードの説明はしていませんが・・・)

スポンサーリンク

コード

#作成したプログラムです。
#コピーしたい場合は概要欄のブログに載せています。
#APIのキーは自分で取得して****の箇所に記載する必要があります。

from apiclient.discovery import build
import pandas as pd

YOUTUBE_API_KEY = '******'
youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY)

def get_video_info(part, q, order, type, num):
    dic_list = []
    search_response = youtube.search().list(part=part,q=q,order=order,type=type)
    output = youtube.search().list(part=part,q=q,order=order,type=type).execute()
    for i in range(num):        
        dic_list = dic_list + output['items']
        search_response = youtube.search().list_next(search_response, output)
        output = search_response.execute()
    df = pd.DataFrame(dic_list)
    df1 = pd.DataFrame(list(df['id']))['videoId']
    df2 = pd.DataFrame(list(df['snippet']))[['channelTitle','publishedAt','channelId','title','description']]
    ddf = pd.concat([df1,df2], axis = 1)
    return ddf

def export_youtube_csv(search_word):
    df = get_video_info(part='snippet', q=search_word, order='viewCount', type='video', num = 1)
    ldc_data = []
    for i in df.videoId:
        statistics = youtube.videos().list(part = 'statistics', id = i).execute()['items'][0]['statistics']
        try:
            ldc_data.append([statistics['viewCount'], statistics['likeCount'], statistics['dislikeCount'],statistics['commentCount']])
        except:
            try:
                ldc_data.append([statistics['viewCount'], 0, 0, statistics['commentCount']])
            except:
                try:
                    ldc_data.append([statistics['viewCount'], statistics['likeCount'], statistics['dislikeCount'],0])
                except:
                    ldc_data.append([statistics['viewCount'], 0, 0, 0])
    df_ldc = pd.DataFrame(ldc_data, columns=['view_count', 'good', 'bad', 'commnent_count'])
    df_concat = pd.concat([df, df_ldc], axis=1)
    df_concat.to_csv("test.csv", encoding='utf_8_sig') 
    return df_concat

q=input("検索したいワードを入力してください")

df2 = export_youtube_csv(q)
df2.head()
print(df2)

実行結果

試しに、”ジブリ”のワードで実行してみました。

↓は出力したcsvを転記しています。
意図通り、再生回数、高評価、コメント数などの情報を出力できました!!

videoIdchannelTitlepublishedAtchannelIdtitledescriptionview_countgoodbadcommnent_count
3jWRrafhO7MCafe Music BGM channel2016-05-10T13:59:56ZUCJhjE7wbdYAae1G25m0tHAA#GhibliJazz #CafeMusic – Relaxing Jazz & Bossa Nova Music – Studio Ghibli CoverStudio Ghibli’s Music Cover!! * The music in this video is actually being played by BGMC. And the approval of the release on Streaming Services has been …2939185932366551886321
7voSN82FGF0kno Piano Music2019-08-11T18:18:50ZUCulsxDuZ0gU8lzhpPAjUwUgおやすみジブリ・夏夜のピアノメドレー【睡眠用BGM、動画中広告なし】Studio Ghibli Summer Night Piano Collection Piano Covered by knoおやすみジブリ・夏夜のピアノメドレーが ポニーキャニオン様よりCD及びデジタルリリースされることが決まりました。 Apple Music https://apple.co/3aHkvfU 「夏夜のピアノ …25339572330175827611270
YjohMzHkBqIkno Disney Piano Channel2018-01-21T08:22:46ZUCunvH2-1iyfjlEVDA8fsBNAスタジオジブリピアノメドレー【作業用、勉強、睡眠用BGM】Studio Ghibli Piano Collection(Piano Covered by kno)(Piano Covered by kno) ・風の谷のナウシカ(1984)/Nausicaä of the Valley of the Wind 1.風の伝説/Kazeno Densetsu (Legend of the Wind)0:00 ・天空の城 …2436195119812856656466
B1go9DPd_xgkno Piano Music2019-03-19T13:00:02ZUCulsxDuZ0gU8lzhpPAjUwUgおやすみジブリ・ピアノメドレー【睡眠用BGM,動画中広告なし】Studio Ghibli Deep Sleep Piano Collection(Piano Covered by kno)おやすみジブリ・夏夜のピアノメドレーが ポニーキャニオン様よりCD及びデジタルリリースされることが決まりました。 「夏夜のピアノメドレー~おやすみジブリ~」/ kno Piano …19123574168799795415684
G7q07dyIsX8yamahamusicchannel2010-06-29T04:47:13ZUCaW-kPXGCj7VsIezZqaJrdQArrietty's Song / Cecile Corbel ( セシル・コルベル )iTunes Store ⇒ http://itunes.apple.com/jp/album/id363974185 Amazon ⇒ http://amzn.to/9kwdac スタジオジブリ映画『借りぐらしのアリエッティ』主題歌、「Arrietty’s …9805125763646493557

以上です!

コメント

タイトルとURLをコピーしました