未経験のITエンジニア転職【テックキャンプ】

【無料】Twitterいいねとフォローを自動化するツール

【無料】Twitterいいねとフォローを自動化するツール

ここ4、5年でTwitterのAPIを使って自動化できるツールが色々出てきています。

ただ大量に自動でフォローやアンフォローする方が増えたため、アカウント凍結やAPI使用制限などが多くなっています。

今回ご紹介する方法で上記のことが解決できるわけではないですが、ブラウザの作業を自動できるiMacros(無料)を使って「いいね」と「フォロー」を自動化することもできます。

大きなメリットは作り方を覚えれば、Twitter以外でもウェブ上にある動作をすべて自動化できます。

ノーノちゃん

なるほど、iMacrosって便利そうだね(*^^*)
はい。今回の自動化する方法を参考にして、他の場所でも使って頂ければと思います。

テイくん

1. 必ず最初にお読みください

iMacrosでの自動化は、TwitterのAPIを使った方法ではありません。

アカウントが凍結するリスクもありますので、もし使用される場合は自己責任でお願い致します。

注意①
どの自動ツールを使っても、基本的に手作業よりもリスクが高くなります。1番凍結しにくい方法は、手動でゆっくり運用するです。
注意②
Twitter側の仕様変更でマクロ動かなくなるの可能性があります。
作成日:2019/12/12

2. Twitterマクロの使い方

もしもiMacrosを入れていない方はこちら(設定時間は約3分)
iMacrosの初期設定と導入方法iMacrosに必要なFirefox、SmoothCSVの導入方法と初期設定(保存版)【PART.1】

今回は、「①iMacrosのみの場合」と「②JavaScriptを使用する場合」の2種類があります。

おすすめは②の方法です。タスクスケジューラー(任意の日時に自動起動)も併用して使うと完全に自動化することが可能です。

それでは初期設定の手順をご紹介します。
※少し初期設定が長く感じますが設定は一度きりです。

マクロの使い方

STEP.1
マクロを貼り付ける
①ログイン+キーワード検索する用
②いいねとフォローする用
上記2つのマクロをコピーしてiimファイルを作る。
STEP.2
ログイン情報とキーワードを記入
★ここにメールアドレス or 電話番号★
★ここにパスワード★
の部分にご自分の情報記入します。
★ここにキーワード★
の部分に「いいね」「フォロー」したい属性のキーワードを記入します。

  • 健康系:健康、食事、ダイエット、サプリなど
  • WEB系:Python、WordPress、PHP、HTML、CSSなど
  • カメラ系:一眼レフ、ミラーレス、写真など
  • トレンド系:有名人の名前、結婚、不倫、彼氏、彼女など

ご自分の運営しているアカウントにあったものを1つだけ入れます。
ポイントは、できるだけボリュームが多いキーワードを選びましょう。

STEP.3
①iimを再生(ログイン+キーワード検索する用)
ログイン後、入力したキーワードで「最新」のツイートに並び順を変更しています。
変更することで、リアルタイムでつぶやいているアクティブなユーザーをフォローすることができます。
STEP.4
②iimを繰り返し再生(いいねとフォローする用)
動かしたい回数分に設定し繰り返し再生(LOOP)させます。
STEP.5
確認
「フォロー」や「いいね」が出来ているか確認します。
注意
状況によって繰り返した回数より少ない場合があります。
※凍結対策のため正確に「フォロー」や「いいね」をしないようにしています。

①iMacrosのみの場合

2つマクロを順番に使うと自動で「フォロー」や「いいね」ができます。

  1. ログイン+キーワード検索する用
  2. いいねとフォローする用

※動画は約3分です。

緑色:メモ書き(コメントアウト)
青色:コマンド解説(リンク)

ログイン+キーワード検索する用

①iim
VERSION BUILD=8970419 RECORDER=FX

'マクロ間の待ち時間1秒
SET !REPLAYSPEED MEDIUM

'エラー回避
SET !ERRORIGNORE YES

TAB T=1

'twitterにアクセス
URL GOTO=https://twitter.com/

'========ログアウト処理========
'タイムアウトを5秒に変更
SET !TIMEOUT_STEP 5

'もっと見るをクリック
TAG POS=1 TYPE=DIV ATTR=data-testid:AppTabBar_More_Menu

'ログアウトをクリック
TAG POS=1 TYPE=SPAN ATTR=TXT:ログアウト

'ログアウトをクリック
TAG POS=2 TYPE=SPAN ATTR=TXT:ログアウト

'タイムアウトをデフォルト60秒に戻す
SET !TIMEOUT_STEP 60

'※複数アカウントで自動処理しない場合はログアウト処理を削除しても大丈夫です。


'=========ログイン処理========
'メールアドレス or 電話番号を入力
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://twitter.com/sessions ATTR=NAME:session[username_or_email] CONTENT=★ここにメールアドレス or 電話番号★

SET !ENCRYPTION NO

'パスワードを入力
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:https://twitter.com/sessions ATTR=NAME:session[password] CONTENT=★ここにパスワード★

'ログインをクリック
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:https://twitter.com/sessions ATTR=*

'2秒の待ち時間を作る
WAIT SECONDS=2

'キーワードで検索(最新のツイート順位)
URL GOTO=https://twitter.com/search?q=★ここにキーワード★&src=typed_query&f=live

いいねとフォローする用

②iim
VERSION BUILD=8970419 RECORDER=FX

'マクロ間の待ち時間1秒
SET !REPLAYSPEED FAST

'エラー回避
SET !ERRORIGNORE YES

TAB T=1

'繰り返す毎に1→2→3…と数値が増える
SET !LOOP 1

'詳細ページに移動
TAG POS={{!LOOP}} TYPE=SPAN ATTR=TXT:@*

'タイムアウトを1秒に変更
SET !TIMEOUT_STEP 1

'ランダム(2~4秒)の待ち時間を作る
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3 + 2); randomNumber;")
WAIT SECONDS={{!VAR1}}

'フォローする
TAG POS=1 TYPE=DIV ATTR=data-testid:*-follow

'ランダム(2~4秒)の待ち時間を作る
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3 + 2); randomNumber;")
WAIT SECONDS={{!VAR1}}

'いいねを押す
TAG POS=1 TYPE=DIV ATTR=data-testid:like

'タイムアウトをデフォルト60秒に戻す
SET !TIMEOUT_STEP 60

'ランダム(2~4秒)の待ち時間を作る
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3 + 2); randomNumber;")
WAIT SECONDS={{!VAR1}}

'戻る
BACK

'ランダム(5~10秒)待ち時間を作る
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*6 + 5); randomNumber;")
WAIT SECONDS={{!VAR1}
ランダム待ち時間について
手作業で行った場合と、できるだけ近い状態の待ち時間になるようにしています。(Math.random()*3 + 2)の数値を変更すれば長くすることも可能です。
ログアウトから初める理由
ログアウト処理を行ってからマクロを再生しないと、前のアカウントにログインした状態になり、同じアカウントでマクロが動いてしまいます。

コメントにも記入していますが、複数アカウントを自動化しない場合は必要ない処理になります。遅くなるのでログインアウト処理を削除してもOKです。

それとCLEARコマンド(キャッシュ、Cookie削除)を使ってログアウト状態にしてもいいのですが、セキュリティー通知が毎回くるので今回このような処理をしています。

①iim
VERSION BUILD=8970419 RECORDER=FX
SET !REPLAYSPEED MEDIUM
SET !ERRORIGNORE YES
TAB T=1
URL GOTO=https://twitter.com/

SET !TIMEOUT_STEP 5
TAG POS=1 TYPE=DIV ATTR=data-testid:AppTabBar_More_Menu
TAG POS=1 TYPE=SPAN ATTR=TXT:ログアウト
TAG POS=2 TYPE=SPAN ATTR=TXT:ログアウト
SET !TIMEOUT_STEP 60

TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://twitter.com/sessions ATTR=NAME:session[username_or_email] CONTENT=★ここにメールアドレス or 電話番号★
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:https://twitter.com/sessions ATTR=NAME:session[password] CONTENT=★ここにパスワード★
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:https://twitter.com/sessions ATTR=*
WAIT SECONDS=2
URL GOTO=https://twitter.com/search?q=★ここにキーワード★&src=typed_query&f=live
②iim
VERSION BUILD=8970419 RECORDER=FX
SET !REPLAYSPEED FAST
SET !ERRORIGNORE YES
TAB T=1
SET !LOOP 1
TAG POS={{!LOOP}} TYPE=SPAN ATTR=TXT:@*
SET !TIMEOUT_STEP 1
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3 + 2); randomNumber;")
WAIT SECONDS={{!VAR1}}
TAG POS=1 TYPE=DIV ATTR=data-testid:*-follow
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3 + 2); randomNumber;")
WAIT SECONDS={{!VAR1}}
TAG POS=1 TYPE=DIV ATTR=data-testid:like
SET !TIMEOUT_STEP 60
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*3 + 2); randomNumber;")
WAIT SECONDS={{!VAR1}}
BACK
SET !VAR1 EVAL("var randomNumber=Math.floor(Math.random()*6 + 5); randomNumber;")
WAIT SECONDS={{!VAR1}

②JavaScriptを使用する場合

iMacros単体では条件分岐ができず、マクロが2つになるのでJavaScriptを併用してマクロを1つにします。

作り方は簡単でコードをコピーして、ファイル名を「.iim」から「.js」に変更するだけです。

変更方法は以下になります。
iMacrosでJavaScriptファイルの作り方

JavaScriptをもう少し詳しく知りたい方は、iMacros×JavaScriptの作成方法と使い方の記事を見て頂ければと思います。

js
// --------------------
// ログインと検索ワード入力処理(macro_A)
// --------------------
var macro_A = "CODE:";
macro_A += "SET !REPLAYSPEED MEDIUM" + "\n";
macro_A += "SET !ERRORIGNORE YES" + "\n";
macro_A += "TAB T=1" + "\n";
macro_A += "URL GOTO=https://twitter.com/" + "\n";
macro_A += "SET !TIMEOUT_STEP 5" + "\n";
macro_A += "TAG POS=1 TYPE=DIV ATTR=data-testid:AppTabBar_More_Menu" + "\n";
macro_A += "TAG POS=1 TYPE=SPAN ATTR=TXT:ログアウト" + "\n";
macro_A += "TAG POS=2 TYPE=SPAN ATTR=TXT:ログアウト" + "\n";
macro_A += "SET !TIMEOUT_STEP 60" + "\n";
macro_A += "TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://twitter.com/sessions ATTR=NAME:session[username_or_email] CONTENT=teikun@vwp837037.kagoyacloud.com" + "\n";
macro_A += "SET !ENCRYPTION NO" + "\n";
macro_A += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:https://twitter.com/sessions ATTR=NAME:session[password] CONTENT=gjoiger9834734@g--3823@kg98636p--u893intg985347u439835bso" + "\n";
macro_A += "TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:https://twitter.com/sessions ATTR=*" + "\n";
macro_A += "WAIT SECONDS=2" + "\n";
macro_A += "URL GOTO=https://twitter.com/search?q=★ここにキーワード★&src=typed_query&f=live" + "\n";
var ret = iimPlay(macro_A);


// --------------------
// 「フォロー」と「いいね」処理(macro_B)
// --------------------
var macro_B = "CODE:";
macro_B += "SET !ERRORIGNORE YES" + "\n";
macro_B += "SET !REPLAYSPEED FAST" + "\n";
macro_B += "TAB T=1" + "\n";
macro_B += "TAG POS={{n}} TYPE=SPAN ATTR=TXT:@*" + "\n";
macro_B += "SET !TIMEOUT_STEP 1" + "\n";
macro_B += "WAIT SECONDS={{rand_A}}" + "\n";
macro_B += "TAG POS=1 TYPE=DIV ATTR=data-testid:*-follow" + "\n";
macro_B += "WAIT SECONDS={{rand_B}}" + "\n";
macro_B += "TAG POS=1 TYPE=DIV ATTR=data-testid:like" + "\n";
macro_B += "WAIT SECONDS={{rand_C}}" + "\n";
macro_B += "SET !TIMEOUT_STEP 60" + "\n";
macro_B += "BACK" + "\n";
macro_B += "WAIT SECONDS={{rand_D}}" + "\n";



//10回繰り返し処理
//「フォロー」と「いいね」の回数を変更したい場合はn<11の数値を変更する
//例:n<6は5回 n<21は20回 n<31は30回
for(var n=1; n<11; n++){

  //2-4秒ランダムで待機時間
  var rand_A = Math.floor(Math.random()*3 +2);
  var rand_B = Math.floor(Math.random()*3 +2);
  var rand_C = Math.floor(Math.random()*3 +2);

  //5-10秒ランダムで待機時間
  var rand_D = Math.floor(Math.random()*6 +5);


  //ディスプレイ現在処理数を表示
  iimDisplay( n + '回目');
  iimSet("n", n);
  iimSet("rand_A", rand_A);
  iimSet("rand_B", rand_B);
  iimSet("rand_C", rand_C);
  iimSet("rand_D", rand_D);
  iimPlay(macro_B);
}
補足
iim部分の解説は省略しています。確認したい場合は前の項目「①iMacrosのみの場合」を見てくださいね。
注意
JavaScriptファイルはLOOP再生が使えません。回数を変更する場合は「10回繰り返し処理」部分の数値を変更する必要があります!

3. タスクスケジューラで完全自動化

iMacrosの再生を押さなくても、任意の日時で自動起動する方法もあります。

例えば、毎週(火、木、土曜日だけ)起動させるといったように設定します。

この方法を使うと「フォロー」や「いいね」を完全自動化することができます。

設定方法はこちらからどうぞ
タスクスケジュールラーでiMacrosを自動起動iMacros:任意の日時で自動起動する方法(タスクスケジューラ)

4. Twitterマクロの注意点

1日に大量に「いいね」や「フォロー」を繰り返すと、アカウントが凍結される可能性があります。

使う場合は、5~30回ぐらいを目安にして頂ければと思います。

注意①
  • 運営歴長い+フォローワーが多いほど、1日に数十回以上マクロを回転させても凍結する可能性は下がります。
  • 運営歴短く+フォローワーが少ないほど、少ない回数でも凍結される可能性が上がります。

正確な凍結基準は非公表のため分かりませんが、スイクン様のツイッター(Twitter)の凍結基準まとめ!の記事で分かりやすく解説してくれています。

注意②
フォローの数だけ多すぎる場合も凍結されるリスクが高まりますので、適度にフォロー返しされていないユーザーをフォロー解除します。
目安は、100人(フォローワー):300人(フォロー)のように1対3ぐらいを限度にしておきましょう。

フォロー解除はSocialDogがおすすめです。

1日にフォロー解除できる件数が決まっているのと、少し間隔を空けて解除してくれます。一部有料ですが、無料版で全く問題ないです。

5. よくある質問

imacrosエラー

unknown command: VAR, line 1 (Error code: -910)
can not parse macro line: // ——————– (Error code: -910)

上記のエラーは両方とも、JavaScriptで書かれたファイルを.iimで処理しようとした時に表示されます。

ファイル名を「.iim」から「.js」に変更すればエラーが起きなくなります。

変更方法は「②JavaScriptを使用する場合」で解説しています。

毎日ではなく2日おきに10回、3日おきに15回などできるだけ少ない方が安全だと思います。
重要なアカウントは手動で運用し、その他のアカウントはタスクスケジューラを使ってバラバラ日に自動起動する。

※詳しい設定方法は、iMacros:任意の日時で自動起動する方法(タスクスケジューラ)の記事で解説しています。

使用例

  • アカウントA 3日に1回/30回
  • アカウントB 3日に1回/20回
  • アカウントC 3日に1回/15回

現在の所、凍結されたアカウントはありませんが今後どうなるかは分かりません。

冒頭でもお伝えしましたが、心配な方は自動化させず手動の方が良いと思います。

お知らせ: ご利用のアカウント(@)に新しい端末からログインがありました。タップすると詳細が表示されます。

いつもログインしている環境(ブラウザや端末)以外でログインした場合のセキュリティーメッセージです。

例えば、今までGoogle Chromeを使っていて、今回始めてFirefoxでログインすると表示されます。

ただ、全くログインした覚えのない時間に通知が来る場合は、不正ログインの可能性もありますのでパスワードの変更した方が良いかもしれません。

詳しく知りたい方はこちらサイトで確認して頂ければと思います。
参考 Twitterに「新しい端末からログインされました」という通知が急増! 詳細と対処法を徹底解説!SNSDAYS

はい。記事内に記載していますがSocialDogを使ってアンフォローすると時間短縮と凍結の心配が少し減ります。

★安全なアンフォローの仕方
「古い順番」に設定して「10日前以上のアカウントのみ」フォロー解除します。

Socialdogフォローされていない人を解除

補足
アカウントのパワーにもよりますが、最大でも1日10~30個ぐらいにしておいた方が無難です。それ以上すると凍結の可能性が高まります。
注意
フォローしてすぐ(10日以内)にアンフォローをすると、アカウントが凍結される可能が増えます。
ちなみに上記の行為は「フォロワーチャーン」と呼ばれTwitterで禁止されています。
よほど需要がない細かいキーワードを設定しない限り、同じ人をフォローすることは100%ではありませんがほとんどありません。

新しくツイートした人から順にフォローしていく設定になっています。
※デフォルトの「話題のツイート」から「最新」に変更しています。

6. まとめ

Twitterを自動で「フォロー」や「いいね」をする方法をご紹介しました。

便利ですが、やり過ぎると凍結のリスクが高まりますので適度な回数にしておきましょう。

まとめ
  • 自動で「フォロー」や「いいね」ができる
  • タスクスケジューラで完全自動化が可能
  • 重要なアカウントは手動が安全