【GAS×Twitter】複数アカウントのフォロワーをスプレッドシートに毎日自動書き込みする方法

IT
ポンすけ
ポンすけ

こんにちは!前回の記事をご覧になった方から複数フォロワーに対応して欲しいとの声があったので、プログラムを対応させようと思います.

Xに変更になり使えなくなりました

 

 

 

何ができるようになる

  • twitterの複数アカウントのフォロワーを毎日管理
  • 決まった時間に毎日スプレッドシートに記録していきます

 

手順

手順はこちらの記事と同じですので変更するプログラムだけのせますね

 

ポンすけのブログ
1970.01.01
ポンすけのブログ
https://ponsukechan.com/gas_twitter_f/
プログラミング、就職、院試、資格、学生生活のお役立ち情報を紹介!

 

上記の記事のプログラムだけ変更します

 

スプレッドシートは欲しいフォロワーの数見出しをつけてください

 

 

一番左は日付、その次にわたしの場合、ぽんすけ、モデルプレス、オリコンで実験しました

 

function TwitterFollowers() {
//スプレッドシートの指定
var sheet = SpreadsheetApp.getActiveSheet();
var today = Utilities.formatDate(new Date(), "JST","yyyy/MM/dd")
var lastRow = sheet.getLastRow()
var row = lastRow + 1;

//Twitterスクレイピング
//getTwitterNumFollowersJsonにIDをいれます

//ここに入力したいアカウントの個数result1~result3を用意
//例として、私のアカウント、モデルプレス、オリコンを使用

var result1 = getTwitterNumFollowersJson("ponsukechanblog");
var result2 = getTwitterNumFollowersJson("modelpress");
var result3 = getTwitterNumFollowersJson("oricon");
//入力
sheet.getRange(row, 1).setValue(today);
sheet.getRange(row, 2).setValue(result1.followers_count);
sheet.getRange(row, 3).setValue(result2.followers_count);
sheet.getRange(row, 4).setValue(result3.followers_count);

}

function getTwitterNumFollowersJson(screenName) {

var baseURL = "https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=";

var response = UrlFetchApp.fetch(baseURL + screenName);

var result = null;

if (response.getResponseCode() == 200) {
var text = response.getContentText("utf-8");

if (text != "") {
var data = JSON.parse(text);
if (data.length == 1) {
result = data[0];
}
}
}
return result;
}

function getNumFollowers(screenName) {

var result = getTwitterNumFollowersJson(screenName);
if (result) {
return result.followers_count;
} else {
return 0; // Not Found;
}

}

 

14行目にあります「getTwitterNumFollowersJson」に取得したいIDの数だけ用意します

上記のプログラムでは3つ、私のアカウント、モデルプレス、オリコンを用意しました.

変数result1やresult2の名前は適当で良いですが、命令文と被ると面倒なのでぶなんいresult1~result2ってしていくと良いかな

 

19行目から

sheet.getRange(row, 1).setValue(today);

でスプレッドシートに書き込む命令なので1番左に日付を書き込む命令です

次にsheet.getRange(row, 2).setValue(result1.followers_count);

は左から二番目に書き込む(row,2)の2が左から2番目に書き込むことを意味しています

result1.followers_countは result1上記の例ですと私のアカウントのresult1.followers_countでフォロワーの数の変数となるのです(意味わかんないかもごめんなさい)この命令でフォロワーが書き込まれます

これをフォロワーの個数やればよいのです上記の例ですと

 

sheet.getRange(row, 1).setValue(today);
sheet.getRange(row, 2).setValue(result1.followers_count);
sheet.getRange(row, 3).setValue(result2.followers_count);
sheet.getRange(row, 4).setValue(result3.followers_count);

てな感じになります。これで実行しましょう

 

 

ちゃんと取れてますね!私のフォロワー少ない…フォローしてね

あとは私の前の記事通りに定期実行の手順を踏んでください

ポンすけのブログ
1970.01.01
ポンすけのブログ
https://ponsukechan.com/gas_twitter_f/
プログラミング、就職、院試、資格、学生生活のお役立ち情報を紹介!

 

プログラム作成にあたって参考にした記事・プログラム

まとめ

今回は複数アカウントのフォロワーを毎日自動的に記録する方法をご紹介しました!ぜひデータ分析などに役立ててください!

 

 

 

コメント

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