YouTubeチャンネルの情報を自動収集!Xserverで定期実行プログラムを作成しよう

PHP

こんにちは、JitanTechです!

YouTubeチャンネルの成長をリアルタイムで追跡したいと思ったことはありませんか?今回は、レンタルサーバー上でプログラムを定期実行させて、指定したYouTubeチャンネルの登録者数、動画数、視聴回数を自動収集する方法をご紹介します。これで、あなたの好きなYouTubeチャンネルの成長を見逃すことはありません!

システムの全体像

まずは、今回作成する定期実行プログラムの全体像を見てみましょう。PHPファイルをCron(Linuxのタスクスケジューラー)で自動実行し、YouTubeチャンネルの情報をMySQLデータベースに登録します。

データベースの作成

最初に、サーバーにデータベースを準備します。今回は「ワンピース考察者」の情報を収集するため、データベース「サーバーID_onepiece」を作成します。

Xserver管理画面から「データベース」⇒「MySQL設定」をクリック。
次に「MySQL追加」をクリックします。
作成したいMySQLデータベース名を任意の値で入力します。今回は「onepiece」と入力します。
「追加する」をクリックします。

これでデータベースの作成は以上です。

テーブルの作成

次に、phpMyAdminを使ってデータベースにテーブルを作成します。

Xserverの管理画面からphpmyadmin(MariaDB)を選択します。
先ほど作成したデータベースが表示されています。このデータベースにテーブルを作成していきます。
データベースのパネルを展開して「新規作成」をクリックします。
テーブル名と列名、列のタイプ等を入力します。入力が完了したら「保存する」をクリックします。

これでテーブルの作成は以上です。

テーブルの構成

今回作成したテーブルは以下の2つです。
  • subscriberテーブル: 取得したチャンネル情報を格納します。
  • target_youtuberテーブル: 情報を取得するチャンネルIDを格納します。
subscriberテーブル・・・取得したチャンネル情報を格納
列名データ型説明
idVARCHAR(255)チャンネルID
titleVARCHAR(255)チャンネル名
add_dateDATETIMEデータ取得日時
subscriber_countINT登録者数
video_countINT動画数
view_countINT視聴回数
target_youtuberテーブル・・・情報を取得するチャンネルIDを格納
列名データ型説明
idVARCHAR(255)チャンネルID
authorVARCHAR(255)チャンネル名

このテーブルの値は事前に設定しておきます。

実行プログラム

以下は、YouTube APIを使ってチャンネル情報を取得し、データベースに登録するPHPプログラムです。

register_subscriber.php
db_access.php
これらのファイルをサーバーに置きます。

実行結果の確認

ではこちらのプログラムを実行してみましょう!

実行前
実行後

データがテーブルに登録されました!

定期実行(Cron)の設定

最後に、プログラムを定期実行するためのCron設定を行います。

  1. エックスサーバーの管理画面から「Cron設定」をクリック。
  2. 「Cron設定追加」をクリックし、実行時間やコマンドを入力。
例: 毎日23:00に実行する設定
「Cron設定追加」をクリックし、赤枠の部分を入力します。

※今回のプログラムは「毎日23:00」に実行させます。

  • 分   :実行したい分を指定します。今回は23:00なので「0」を入力します。
  • 時間  :実行したい時間を指定します。今回は23:00なので「23」を入力します。
  • 日   :実行したい日を指定します。今回は毎日なので「*」を入力します。
  • 月   :実行したい月を指定します。今回は毎月なので「*」を入力します。
  • 曜日  :実行したい曜日を指定します。今回は毎曜日なので「*」を入力します。
コマンドの説明

/usr/bin/php8.1-cgi /home/サーバーID/jitantech.com/public_html/youtube-project/register_subscriber.php

/usr/bin/php8.1-cgiとPHPファイルのパスとの間には「半角スペース」を入れてください。

/usr/bin/php8.1-cgiの数字はお使いのサーバーにインストールされているPHPのバージョンです。

PHPバージョンの確認

Cron設定を行う前に、サーバーにインストールされているPHPのバージョンを確認します。

  1. エックスサーバー管理画面の「PHP Ver切替」をクリック。
  2. ドメインの右の「選択する」をクリック。
  3. 表示されるバージョンを確認します。
エックスサーバー管理画面の「PHP Ver切替」をクリック。
ドメインの右の「選択する」をクリックします。
表示されるバージョンを確認します。

バージョンはPHP 8.1.29です。この場合、/usr/bin/php8.1-cgiにはバージョンの最初の2つの数字(8.1)までを記載し、.29は記載しないようにしましょう。

実行するPHPファイルのパス

次次に、実行したいPHPファイルのパスについてですが、これは絶対パスで指定する必要があります。つまり、ルートからのファイルパスです。

例: /usr/bin/php8.1-cgi ここに実行したいPHPファイルのパスを記述

今回の場合、以下のファイルパスになります。

/home/サーバーID/jitantech.com/public_html/youtube-project/register_subscriber.php

URLを確認すると、/home/サーバーIDの部分が表示されないため、以下のように記述してしまうかもしれません。

/jitantech.com/public_html/youtube-project/register_subscriber.php

しかし、ここではサーバーの最上位階層からのパスを記述する必要があります。

ここまで記述したら、「確認画面に進む」⇒「追加する」をクリックします。

定期実行(Cron)の設定は以上です。

まとめ

いかがでしたか?今回は、サーバー上でプログラムを定期実行してYouTubeチャンネルの情報を自動収集する方法をご紹介しました。これで、チャンネルの成長をリアルタイムで追跡できますね!

最後までお読みいただき、ありがとうございました!

※以下のサイトを参考にさせて頂きました。

crontabの色々な設定方法(毎日、毎時、1日1回など)
crontabの定時実行の指定の書き方、つい忘れがちになってしまいます。 実行したいタイミングに合わせた書き方をメモしておきます。 crontabの定時実行の設定 1時間に1回、定時実行 #毎時0分に実行 0 * * * * 1日1回、定時
エックスサーバーでCronによるphp動作が上手くいかない場合に確認すべき6つの事項 - ゲマステ!- 新作ゲームレビュー, マイクラ, ゲームMOD情報まとめ
エックスサーバー(Xserver)において、Cron(クーロン)を使用したPHP実行が上手くいかない(動かない)エラーが生じた場合に確認すべき事項を、実体験をもとにまとめて紹介していきます!

コメント

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