ここ4、5年でTwitterのAPIを使って自動化できるツールが色々出てきています。
ただ大量に自動でフォローやアンフォローする方が増えたため、アカウント凍結やAPI使用制限などが多くなっています。
今回ご紹介する方法で上記のことが解決できるわけではないですが、ブラウザの作業を自動できるiMacros(無料)を使って「いいね」と「フォロー」を自動化することもできます。
大きなメリットは作り方を覚えれば、Twitter以外でもウェブ上にある動作をすべて自動化できます。
ノーノちゃん
テイくん
このページの目次
1. 必ず最初にお読みください
iMacrosでの自動化は、TwitterのAPIを使った方法ではありません。
アカウントが凍結するリスクもありますので、もし使用される場合は自己責任でお願い致します。
作成日:2019/12/12
2. Twitterマクロの使い方
もしもiMacrosを入れていない方はこちら(設定時間は約3分)
iMacrosに必要なFirefox、SmoothCSVの導入方法と初期設定(保存版)【PART.1】
今回は、「①iMacrosのみの場合」と「②JavaScriptを使用する場合」の2種類があります。
おすすめは②の方法です。タスクスケジューラー(任意の日時に自動起動)も併用して使うと完全に自動化することが可能です。
それでは初期設定の手順をご紹介します。
※少し初期設定が長く感じますが設定は一度きりです。
マクロの使い方
②いいねとフォローする用
上記2つのマクロをコピーしてiimファイルを作る。
★ここにパスワード★
の部分にご自分の情報記入します。
の部分に「いいね」「フォロー」したい属性のキーワードを記入します。
- 健康系:健康、食事、ダイエット、サプリなど
- WEB系:Python、WordPress、PHP、HTML、CSSなど
- カメラ系:一眼レフ、ミラーレス、写真など
- トレンド系:有名人の名前、結婚、不倫、彼氏、彼女など
ご自分の運営しているアカウントにあったものを1つだけ入れます。
ポイントは、できるだけボリュームが多いキーワードを選びましょう。
変更することで、リアルタイムでつぶやいているアクティブなユーザーをフォローすることができます。
※凍結対策のため正確に「フォロー」や「いいね」をしないようにしています。
①iMacrosのみの場合
2つマクロを順番に使うと自動で「フォロー」や「いいね」ができます。
- ログイン+キーワード検索する用
- いいねとフォローする用
※動画は約3分です。
青色:コマンド解説(リンク)
ログイン+キーワード検索する用
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
いいねとフォローする用
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}
コメントにも記入していますが、複数アカウントを自動化しない場合は必要ない処理になります。遅くなるのでログインアウト処理を削除してもOKです。
それとCLEARコマンド(キャッシュ、Cookie削除)を使ってログアウト状態にしてもいいのですが、セキュリティー通知が毎回くるので今回このような処理をしています。
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
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」に変更するだけです。
変更方法は以下になります。
JavaScriptをもう少し詳しく知りたい方は、iMacros×JavaScriptの作成方法と使い方の記事を見て頂ければと思います。
// --------------------
// ログインと検索ワード入力処理(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=★ここにメールアドレス or 電話番号★" + "\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=★ここにパスワード★" + "\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);
}
3. タスクスケジューラで完全自動化
iMacrosの再生を押さなくても、任意の日時で自動起動する方法もあります。
例えば、毎週(火、木、土曜日だけ)起動させるといったように設定します。
この方法を使うと「フォロー」や「いいね」を完全自動化することができます。
設定方法はこちらからどうぞ
iMacros:任意の日時で自動起動する方法(タスクスケジューラ)
4. Twitterマクロの注意点
1日に大量に「いいね」や「フォロー」を繰り返すと、アカウントが凍結される可能性があります。
使う場合は、5~30回ぐらいを目安にして頂ければと思います。
- 運営歴長い+フォローワーが多いほど、1日に数十回以上マクロを回転させても凍結する可能性は下がります。
- 運営歴短く+フォローワーが少ないほど、少ない回数でも凍結される可能性が上がります。
正確な凍結基準は非公表のため分かりませんが、スイクン様のツイッター(Twitter)の凍結基準まとめ!の記事で分かりやすく解説してくれています。
目安は、100人(フォローワー):300人(フォロー)のように1対3ぐらいを限度にしておきましょう。
フォロー解除はSocialDogがおすすめです。
1日にフォロー解除できる件数が決まっているのと、少し間隔を空けて解除してくれます。一部有料ですが、無料版で全く問題ないです。
5. よくある質問
can not parse macro line: // ——————– (Error code: -910)
上記のエラーは両方とも、JavaScriptで書かれたファイルを.iimで処理しようとした時に表示されます。
ファイル名を「.iim」から「.js」に変更すればエラーが起きなくなります。
変更方法は「②JavaScriptを使用する場合」で解説しています。
※詳しい設定方法は、iMacros:任意の日時で自動起動する方法(タスクスケジューラ)の記事で解説しています。
- アカウントA 3日に1回/30回
- アカウントB 3日に1回/20回
- アカウントC 3日に1回/15回
現在の所、凍結されたアカウントはありませんが今後どうなるかは分かりません。
冒頭でもお伝えしましたが、心配な方は自動化させず手動の方が良いと思います。
いつもログインしている環境(ブラウザや端末)以外でログインした場合のセキュリティーメッセージです。
例えば、今までGoogle Chromeを使っていて、今回始めてFirefoxでログインすると表示されます。
ただ、全くログインした覚えのない時間に通知が来る場合は、不正ログインの可能性もありますのでパスワードの変更した方が良いかもしれません。
詳しく知りたい方はこちらサイトで確認して頂ければと思います。
参考
Twitterに「新しい端末からログインされました」という通知が急増! 詳細と対処法を徹底解説!SNSDAYS
★安全なアンフォローの仕方
「古い順番」に設定して「10日前以上のアカウントのみ」フォロー解除します。
ちなみに上記の行為は「フォロワーチャーン」と呼ばれTwitterで禁止されています。
新しくツイートした人から順にフォローしていく設定になっています。
※デフォルトの「話題のツイート」から「最新」に変更しています。
6. まとめ
Twitterを自動で「フォロー」や「いいね」をする方法をご紹介しました。
便利ですが、やり過ぎると凍結のリスクが高まりますので適度な回数にしておきましょう。
- 自動で「フォロー」や「いいね」ができる
- タスクスケジューラで完全自動化が可能
- 重要なアカウントは手動が安全