Twitterで自動いいね、自動フォローの設計書 [手動 + 自動化 = 半自動化]
Twitterでは自動いいね、自動フォローは「自動化ルール」で禁止されています。自動フォローに関しては正確には「Twitterアカウントを大量または無差別にフォローしたり、フォロー解除したりしないでください。」との事です。
ですので、この記事では手動と自動化を組み合わせた「半自動化」の手法である「一括いいね」「一括フォロー」をご紹介します。
対象者
Twitter APIの経験者用としてますので、細かい説明は飛ばします。PHPコードも必要最低限で設計が主体とします。
目次
1. TwitterのAPI利用申請
2. TwitterOauthのダウンロード
3. TwitterOAuthのクラス生成
4. 自動いいね / 一括いいね
5. 自動フォロー / 一括フォロー
6. シャドーバンについて
7. 参考文献(API上限)
1. TwitterのAPI利用申請
https://developer.twitter.com/en/apps/
Twitterのアプリ(app)を作成して「API Key & Secret」及び「Access Token & Secret」を取得します。
2. TwitterOauthのダウンロード
https://github.com/abraham/twitteroauth
アプリ(app)で他のアカウントを操作する場合は以下を参考。
上記のコードは試していませんが、login.php、callback.phpの2つだけでいけるハズ。最初はlogin.phpにアクセスします。そうすると自動的にcallback.phpへ行きます。callback.phpでは$_SESSION['access_token']の中にある「oauth_token」「oauth_token_secret」を取得すればOKです。
※ある程度、コードを修正して下さい。
3. TwitterOAuthのクラス生成
$connect = new TwitterOAuth(TWITTER_CONSUMERKEY,TWITTER_CONSUMERSECRET, TWITTER_ACCESSTOKEN,TWITTER_ACCESSTOKENSECRET);
TWITTER_CONSUMERKEY | API Key |
---|---|
TWITTER_CONSUMERSECRET | API Key Secret |
TWITTER_ACCESSTOKEN | Access Token (oauth_token) |
TWITTER_ACCESSTOKENSECRET | Access Token Secret (oauth_token_secret) |
4. 自動いいね / 一括いいね
4-1. 自動いいね
// ツイートの検索 $statuses = $connect->get( 'search/tweets', array( 'q' => 'プログラミング', // 検索キーワード 'count' => '5', // ツイート件数 'lang' => 'ja', // 言語 'locale' => 'ja', // 地域 'result_type' => 'recent', // ツイートの種類 recent(最新) popular(人気) mixed(全て) 'include_entities' => 'false' // entitiesプロパティを含めるかどうか ) ); // いいねの発動 foreach($statuses->statuses as $tweet){ $result = $connect->post( 'favorites/create', array( 'id' => $tweet->id ) ); }
この例から見るようにTwitter APIを調査する際は「search/tweets」「favorites/create」などで検索します。
前述した通り、自動いいねは禁止されています。CRONやsleep(rand(3,8));などで時間をランダムに調整してもAPIを使用している時点でバレます。
4-2. 一括いいね
最新ツイートをキーワードなどで絞り込んで、それらをHTMLで表示して該当ツイートをクリックしたら、Twitter上でそれを表示して「いいね」を押せば問題ないと思われます。 ※要はTwitterでいいねを押せばOKと私は判断
いわゆる「一括いいね」となります。
作成するとしたらこんなイメージです。
リンクをクリックしたらTwitterを新しいウインドウで開き、HTML(自前)のチェックボタンをオンにすると便利です。ただ、普通にTwitterで検索して「いいね」を押せば良いだけかも知れません(笑)
この記事のメインは次の「一括フォロー」です。
5. 自動フォロー / 一括フォロー
5-1. 自動フォロー
自動フォローも基本的に禁止されています。
5-2. 一括フォロー
好みのジャンルのユーザーを絞り込んで、一括でフォローをする事が可能となります。また、プロフィールも表示されますので、目視で選別可能です。
次の手順で行います。
1. 指定ユーザーがフォローしているユーザーIDの一覧を取得する
$target_id = "xxx"; // @以降のID // 指定ユーザーのIDを取得する $target = $connect->get( 'users/show',array("screen_name" => $target_id)); $id = $target->id; // 指定ユーザーがフォローしているユーザーIDを配列で取得する $friends = $connect->get( 'friends/ids',array("user_id" => $id )); $friends_ids = $friends->ids; var_dump($friends_ids);
2. 1の$target_idを変更後、繰り返して数万件取得する
3. 必要なユーザーIDのみを残す
自分がフォローしているユーザーIDは除外する |
対象が72時間以内にツイートをしていない場合は除外する |
対象がフォロー率50%未満の場合は除外する |
対象のプロフィールに指定キーワードが含まれない場合は除外する |
ココの処理はCRONが良いです。ユーザー情報の取得(users/show)は15分で180件までなので20分毎にCRONを推奨。
4. 選別されたユーザーIDの一覧を30件毎に表示する
4-2と同様で、作成するとしたらこんなイメージです。
チェックボックスのオンは既にクリックしたか判断する為です。
6. シャドーバンについて
フォローをやり過ぎるとアカウントがシャドーバンになる可能性があります。
シャドーバンになると、あなたのツイートやアカウントがフォローされていない一般のアカウントで検索、表示されなくなります。
OKな例
シャドーバンは、先頭行以外が赤またはオレンジになります。
シャドーバンの次の段階になるとTwitter上で「このアカウントは一時的に制限されています」などと表示されます。※1日400人以上をフォローするとなると思われます。
※一括フォローをする場合はシャドーバンを毎日確認した方が良いです。
7. 参考文献(API上限)
Twitter API 1.1 / 実行回数制限 (外部サイト)