1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Youtube Data API】登録者が少ないVtuber検索

Last updated at Posted at 2024-11-12

【目的】:登録者数が少ないVtuberの配信を検索する
【利用】:YouTube Data API v3

Youtube Data APIの使い方は他記事をご参照ください。

【参考にした記事】
 https://qiita.com/k8uwall/items/b3a2c09d15f827fe888e
 https://qiita.com/Charlesmiwakuno/items/78caaaf5b83559843d44

【実装コード】

from apiclient.discovery import build

YOUTUBE_API_KEY = 'ここに取得したAPIキー' #APIキー
CHANNEL_MIN = 0           #チャンネル登録者数下限
CHANNEL_MAX = 1000        #チャンネル登録者数上限
QUERY = "歌枠 and Vtuber" #検索キーワード

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

def get_video_info(part, q, order, type, eventType, maxResults):
    search_response = youtube.search().list(part=part, q=q, order=order, type=type, eventType=eventType, maxResults=maxResults).execute()

    return search_response['items']

def youtube_channel_detail(channel_id):
    search_response = youtube.channels().list(
        part='snippet,statistics',
        id=channel_id,
    ).execute()

    return search_response['items'][0]

if __name__ == '__main__':
    
    video_out = get_video_info(part='snippet',q=QUERY,order='date',type='video', eventType='live',maxResults=50)

    
    for item in video_out:
        video_id = item['id']['videoId']
        channel_id = item['snippet']['channelId']
        details = youtube_channel_detail(channel_id)
        if len(details) == 0:
            continue
        
        title = details['snippet']['title']
        count = details['statistics']['subscriberCount']
        
        if CHANNEL_MIN < int(count) < CHANNEL_MAX:
            print("タイトル:" + title)
            print("チャンネル登録者数:" + count)
            print("https://www.youtube.com/watch?v=" + video_id)
    

【実行結果(例)】

タイトル:<チャンネル名1>
チャンネル登録者数:331
https://www.youtube.com/watch?v=aaaaaaaaaaaa
タイトル:<チャンネル名2>
チャンネル登録者数:283
https://www.youtube.com/watch?v=iiiiiiiiiiii

【コード解説】
 キーワードで生配信を検索して、チャンネル登録者数で絞って表示する仕組み

【感想】
 Youtube Data APIは無料だが、APIを利用するためにGoogle Cloudに登録する必要があり、そのGoogle Cloudが有料だった。現在(2024年11月13日時点)では、Google Cloudが無料で試用できる期間があったため、無料で実験をした。

 APIを利用したクエリの発行には上限があり、そこまで何回も実行することはできなそうである。

 実験結果としては、求めていたチャンネル登録者数が少ないVtuberを検索することができたので良し(*´ω`)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?