見出し画像

ChatGPTで、自動YouTube検索結果リスト作成ツールを作る方法

今回はChatGPTを使って、YouTubeの顧客リストを作成する方法を説明していきます。YouTubeの動画をクロールして、特定の検索条件にヒットする顧客リストを自動で生成します。

今回自動作成したリスト

例えば、何か商品の宣伝を行いたい場合に商品紹介をお願いする際にYouTuberにお願いしたい時や、英語の勉強をする際に現地のマイナーなYouTuberを知りたい、という場合に活用することができるでしょう。

どういう風にChatGPTに聞くのかも1から説明していきます。


1. ChatGPTに要望を伝えてみる

まずはプログラミング言語の選定から(特にエンジニアじゃなくて問題ありません)。今回は幅広くあらゆることができるPythonを使って作成を進めていきます。

Pythonとは
Web開発、データ分析、人工知能(AI)、科学計算、自動化スクリプトなど、幅広い用途で使用されています。

今回は「有名すぎない」特定のジャンルのYouTuberを集めることにします。条件としては以下のようなものがあげられます。

  • チャンネル登録者数1000人〜5000人

  • 検索キーワードをつけて検索をしたい

  • 50チャンネルくらいを集めたい

  • エクセル形式で書き出したい

これらの条件を使ってChatGPTに聞いていきましょう。

Pythonを使って、YouTube検索を行い、
特定の検索条件に当てはまるYouTubeチャンネルを集めたいです。

特定のキーワードで検索をかけて、
その中でもチャンネル登録者数のミニマムと、マックスを指定できるようにしたいです。
50チャンネルくらいリストを生成したいです。
出力結果はExcel形式で出力をしたいです。

プログラミングのコードを生成してください。

そうすると以下のような回答結果が返ってきました。

YouTubeのAPIを使うことで実装が可能とのことです。

API(アプリケーションプログラミングインターフェース)は、異なるソフトウェア間で情報を交換するためのルールのセットです。例えば、天気予報のサイトから天気のデータを取得するために使用します。APIを使うことで、プログラムが互いに「話し合い」、機能を共有できます。

Google PlatformにてAPIキーを取得することができるので、取得をしていきます。

2. Google Cloud PlatformにてAPIキーを取得する

APIキーを取得する手順は以下の通りです。これもChatGPTに聞くことで丁寧に教えてくれました。

1. Google Cloud Platformのコンソールにアクセスする

Google Cloud Platformのウェブサイト (https://console.cloud.google.com/) にアクセスし、Googleアカウントでログインします。

2. プロジェクトを作成する

ダッシュボードの上部にある「プロジェクトを選択」をクリックします。「新しいプロジェクト」をクリックし、プロジェクト名を入力して「作成」をクリックします。

3. APIとサービスを有効にする

ダッシュボードで「APIとサービス」を選択し、「ライブラリ」をクリックします。使用したいAPIを検索します(例: 「YouTube Data API v3」)。APIを選択し、「有効にする」をクリックします。

4. APIキーを作成する

APIを有効にした後、「認証情報」をクリックします。「認証情報を作成」ボタンをクリックし、「APIキー」を選択します(オプション)APIキーに名前を付け、適用する制限を設定します。例えば、APIキーを特定のIPアドレスからのみ利用できるように制限することができます。「作成」をクリックします。

5.APIキーをコピーする

APIキーが生成されたら、表示されるダイアログでキーをコピーします。このキーは、APIを呼び出す際に必要になります。

APIキーの保護は慎重に

APIキーは機密情報です。不正利用を防ぐために、キーを安全に保管し、公開しないでください。必要に応じて、APIキーの使用を制限して、特定のAPIやリファラーからのみキーが使えるように設定できます。

APIキーが用意できたら、次にコードを実際に使っていきましょう。

3. プログラミングコードを走らせてみる

ChatGPTが以下のコードを生成してくれました。Pythonの使い方がわからない方は以下の記事を見てください。

from googleapiclient.discovery import build
import openpyxl

# APIキーと検索条件を設定
API_KEY = 'YOUR_API_KEY'
YOUTUBE_API_SERVICE_NAME = 'youtube'
YOUTUBE_API_VERSION = 'v3'
SEARCH_KEYWORD = 'YOUR_SEARCH_KEYWORD'
MIN_SUBSCRIBERS = 1000  # 最小登録者数
MAX_SUBSCRIBERS = 100000  # 最大登録者数
MAX_RESULTS = 50  # 取得するチャンネルの最大数

# YouTube APIクライアントを初期化
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, developerKey=API_KEY)

# 検索結果を格納するリスト
channels_list = []

# YouTubeでチャンネルを検索
search_response = youtube.search().list(
    q=SEARCH_KEYWORD,
    type='channel',
    part='snippet',
    maxResults=MAX_RESULTS
).execute()

for search_result in search_response.get('items', []):
    channel_id = search_result['snippet']['channelId']
    channel_response = youtube.channels().list(
        id=channel_id,
        part='statistics',
    ).execute()

    for channel in channel_response.get('items', []):
        subscribers = int(channel['statistics']['subscriberCount'])
        if MIN_SUBSCRIBERS <= subscribers <= MAX_SUBSCRIBERS:
            channels_list.append({
                'Channel Name': search_result['snippet']['title'],
                'Channel ID': channel_id,
                'Subscribers': subscribers
            })

# Excelファイルを作成して結果を書き込む
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['Channel Name', 'Channel ID', 'Subscribers'])  # ヘッダーを追加

for channel in channels_list:
    ws.append([channel['Channel Name'], channel['Channel ID'], channel['Subscribers']])

# Excelファイルを保存
wb.save('youtube_channels.xlsx')

この中で、「API_KEY」の部分に取得したAPIキーを入れれば実際に使うことができます。

SEARCH_KEYWORD = 'YOUR_SEARCH_KEYWORD'
MIN_SUBSCRIBERS = 1000  # 最小登録者数
MAX_SUBSCRIBERS = 100000  # 最大登録者数
MAX_RESULTS = 50  # 取得するチャンネルの最大数

の部分をいじることで検索をすることができそうです。

そしたら実際に動かしていきましょう。今回はPythonはVS Codeで動かしていきます。

今回は条件的に「プログラミング」を検索キーワードにして保存して実行してみましょう。(APIキーは入れて実行する)実行すると以下のように新しいexcelが出力されました。

こちらを開いてみると以下のようなデータを書き出してくれました。
上手に取得できていますね。動画名、チャンネル名、登録者数を出してくれました。

ただし、今だと22件しか表示されていませんね。どうやらYouTube APIが50回の検索しか対応していない様なので、50件取得するまで繰り返しAPIを叩けるか聞いてみましょう。またチャンネルのURLもわかった方が便利なので、それもお願いしてみましょう。また、同一のチャンネルはちゃんと重複を除いてもらいます。

50件取得されていません。APIを期待の数を返すまで、繰り返し叩いてください。
またチャンネルのURLと、チャンネル名も追加してください。
同一のチャンネルで重複の内容にデータを集めてください。

すると以下のような回答が出たので、そのコードに更新していきます。


それを実行すると再度excelが書き出されたので見てみましょう。開いてみるとうまく50件とチャンネルのURLが出てきました。チャンネルを開くとちゃんと登録者数と、チャンネル名が合っていました。

使い方は無限大な便利なツール

このYouTube APIを使ってのYouTube検索は、いろいろな用途で使用することができますね。マイナーな動画や、特定の検索条件での検索ができるので、普段のキーワードだけの検索よりも、効率的に調べることができるようになります。

こういったようにYouTube以外のサイトでもあっても、同様に簡単にこういった営業ツールは作れることもあるので、ぜひみなさんの中にあるアイデアも使って、新しいツールを作ってみてはいかがでしょうか。

いいなと思ったら応援しよう!