\仮想通貨は積立投資がオススメ/

インスタグラムのフォロワー推移を自動計測!GASとスプレッドシートで可視化してみた

今年の3月末からインスタグラムを始めました。

このブログのカテゴリの一つとして『カメラ』があるのでその延長線上です。

インスタグラムはもともと自分のアカウントを持っていましたが、どうせなら「フォロワーを増やすことを目標に運用しよう」と思ってブログ用にアカウントを新設しました。

フォロワーを増やすことが目的だと、やはり気になるのがフォロワーの推移。

そこでGoogle Apps Script(GAS)とスプレッドシート(Spreadsheet)を使って定期的に指定したアカウントのフォロワー数、フォロー数、投稿数を取得するプログラムを作成しました

スプレッドシートに書き出すので推移をグラフに書き出すことも簡単です。

フォロワー数の推移をグラフで確認可能

まず、どんなんができんの?ってとこが気になるかと思うので、実際にグラフにしたものを貼っておきます。

アカウントはこちら

https://www.instagram.com/takeiho_film/

自動計測を始めたのが6月入ってからで、それ以前はスマホに残っていたスクショの日付とフォロワー数などを入力しただけのため、グラフの最初がなめらかな綺麗なラインになってしまっています。。

実際に最初からちゃんと取っておけば後半のギザギザっとなっているような細かい推移が全部取れます。

 

インスタグラム自動計測プログラムの作成方法

自動計測の設定は簡単で以下の3ステップです。

(プログラムの知識が無い方でも基本コピペでOKです。)

作成手順
  1. 新規スプレッドシートの作成
  2. Google Apps Script(GAS)の作成
  3. GASのスケジュールを設定

それでは解説していきます。

 

1.新規スプレッドシートの作成

まず、Googleドライブ上から新規のスプレッドシートを作成します。

「新規」ボタンをクリックするか、「右クリック」から新規スプレッドシートを作成します。

スプレッドシートが作成できたら、適当な名前をつけて「target」という名称のシートを作成してください。

このシートでフォロワー数などをチェックするアカウント名を管理します。

早速自分のアカウント名を記載しておきましょう!

複数のアカウントを運営していたり、計測したいアカウントが複数ある場合はA列にアカウント名を記載しておけば複数アカウントの計測が可能です。

ここまでできればスプレッドシート側での作業は完了です。

 

2.Google Apps Script(GAS)の作成

スプレッドシートのメニューの「ツール」から「スクリプトエディタ」をクリックすると新規GASが作成できます。

GASが開いたら適当に名前をつけてから、以下のソースを貼り付けます。

新規作成時に元からある「myFunction」は消しちゃって大丈夫です。

コード
function checkReport() {
  //チェックを行うユーザーIDを取得
  var targetList = getTargetList();
  while(true){
    try {
      //データを記録していく
      for (var i = 0; i < targetList.length; i++){
        insertReportData(targetList[i]);
        targetList.splice(i--, 1);
      }
      //全員分取得できれば終了
      if(targetList.length == 0){
        break;
      }
    } catch (e){
      //エラー発生したら残りの処理を再度実施する
      continue;
    }
  }
}

function getTargetList() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName('target');
  var data = sheet.getDataRange().getValues();
  var targetList = [];
  for(var i=0; i < data.length; i++){
    targetList.push(data[i][0]);
  }
  return targetList;
}


function insertReportData(user_id) {
  var data = getData(user_id);
  var sheet = null;

  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = spreadsheet.getSheets();
  //対象のユーザー用シートの存在チェック
  for(var i=0; i < sheets.length; i++){
    if(user_id == sheets[i].getName()){
      sheet = spreadsheet.getSheetByName(user_id);
    }
  }
  if(sheet == null){
    //シートが無ければ作成
    spreadsheet.insertSheet(user_id);
    sheet = spreadsheet.getSheetByName(user_id);
    sheet.appendRow(['日時','フォロワー数','フォロー数','ポスト数']);
  }
  var lastRow = sheet.appendRow(data);
}

function getData(user_id) {
  var url = "https://www.instagram.com/" + user_id;
  var request = UrlFetchApp.fetch(url)
  var content = request.getContentText();
  
  //実行日付
  var today = new Date();
  
  //フォロワー数取得
  var regex = new RegExp('"\\d.*Followers');
  var followers = content.match(regex)[0].replace(" Followers","").replace("\"","");

  //フォロー数取得
  regex = new RegExp('\\s\\d.*Following');
  var followings = content.match(regex)[0].replace(" Following","");
  
  //ポスト枚数数取得
  regex = new RegExp('\\s\\d.*Posts');
  var posts = content.match(regex)[0].replace(" Posts","").replace(/\s\d.*\s/,"");
  
  var result = [today,followers,followings,posts];
  return result;
}

コードを貼り付けたら保存してから早速実行します。

赤枠で囲ったコンボボックスから「checkReport」を選択し、三角の実行ボタンをクリックしてください。

最初は以下のようなポップアップが表示されるので、「許可を確認」をクリックしてください。

すると以下のように警告画面が表示されるので「詳細」をクリックしてください。

続いて、「”スクリプト名”に移動」をクリックしてください。

次でラストです。「許可」をクリックします。

ここでようやくGASが実行されます。

処理が完了したら最初に作成したスプレッドシートを確認してください。

アカウント名のシートが作成され、そこに日時、フォロワー数、フォロー数、ポスト数が記録されているはずです。

何度かGASを実行すると実行するたびに行が追加されていきます。

動作が確認できたのでこれを定期的に自動で実行されるようにGASのスケジュールを設定していきます。

 

3.GASのスケジュール設定

GASのメニューバーから時計マークをクリックしてください。

トリガー設定一覧が表示されますが、現在は未設定なので青文字をクリックして設定を追加します。

「checkReport」を好きな間隔で実行するように設定して「保存」をクリックします。

以上でスケジュール設定も完了です。

画面の例でいうと、6時間ごとにこのスクリプトが自動で実行され、対象アカウントのフォロワー数、フォロー数、ポスト数が自動でスプレッドシートに追加されていきます。

 

このように簡単にデータを取得できるのでフォロワー数の推移を見てみたい人はぜひやってみてください。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA