tweepyを用いて自動フォロバ&リムバを実装
はじめに
Twitterのbot用に、自動でフォローバックとリムーブバックをするPythonコードを書いてみました。なお、このコードを利用するには、事前に以下のサイトからTwitter APIの利用申請が必要です。
developer.twitter.com
サンプルコード
# ライブラリの読み込み import tweepy #以下****には自身のキーを入力 CONSUMER_KEY = '****' CONSUMER_SECRET = '****' ACCESS_TOKEN = '****' ACCESS_SECRET = '****' #twitter認証 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) # フォロワーを新しい順で取得。 flist= api.get_followers(count=10) for f in flist: f_id = f.id # 相手のアカウントの説明文にフォローバックしたくない[キーワード]があれば if の後の<>内に登録 #複数ある場合はカンマで区切る #(例:副業など) if "<>" in f.description: continue else: api.create_friendship(user_id=f_id) print(f_id) #以下???には@を除いたTwitterのユーザーIDを入力 # フォロワーの取得 followers = api.get_follower_ids(user_id="???") # フォローユーザーの取得 friends = api.get_friend_ids(user_id="???") # フォローユーザー分だけループ for f in friends: # フォローユーザーがフォロワー一覧に含まれていないなら if f not in followers: api.destroy_friendship(user_id=f) print(f)
注意点など
フォロバについて、フォロワーを新しい順に取得するため、設定したcount値(上記のコードでは10人)より多くの人にフォローされた場合、フォロバ漏れが発生してしまいます。しかし、count値を大きくしすぎると短時間に大量にフォロバすることになってしまいます。それによるアカウントの制限や凍結を防ぐためにも、count値は10~15にすることを推奨します。なお、私はHeroku Schedulerを用いて6時間毎に自動実行するようにしています。
devcenter.heroku.com