ChatGPTで、自動YouTube検索結果リスト作成ツールを作る方法
今回はChatGPTを使って、YouTubeの顧客リストを作成する方法を説明していきます。YouTubeの動画をクロールして、特定の検索条件にヒットする顧客リストを自動で生成します。
例えば、何か商品の宣伝を行いたい場合に商品紹介をお願いする際にYouTuberにお願いしたい時や、英語の勉強をする際に現地のマイナーなYouTuberを知りたい、という場合に活用することができるでしょう。
どういう風にChatGPTに聞くのかも1から説明していきます。
1. ChatGPTに要望を伝えてみる
まずはプログラミング言語の選定から(特にエンジニアじゃなくて問題ありません)。今回は幅広くあらゆることができるPythonを使って作成を進めていきます。
今回は「有名すぎない」特定のジャンルのYouTuberを集めることにします。条件としては以下のようなものがあげられます。
チャンネル登録者数1000人〜5000人
検索キーワードをつけて検索をしたい
50チャンネルくらいを集めたい
エクセル形式で書き出したい
これらの条件を使ってChatGPTに聞いていきましょう。
Pythonを使って、YouTube検索を行い、
特定の検索条件に当てはまるYouTubeチャンネルを集めたいです。
特定のキーワードで検索をかけて、
その中でもチャンネル登録者数のミニマムと、マックスを指定できるようにしたいです。
50チャンネルくらいリストを生成したいです。
出力結果はExcel形式で出力をしたいです。
プログラミングのコードを生成してください。
そうすると以下のような回答結果が返ってきました。
YouTubeの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以外のサイトでもあっても、同様に簡単にこういった営業ツールは作れることもあるので、ぜひみなさんの中にあるアイデアも使って、新しいツールを作ってみてはいかがでしょうか。