LoginSignup
3
4

More than 5 years have passed since last update.

Twitterの自分をフォローしてないユーザーをPythonで削除するスクリプト

Last updated at Posted at 2018-08-11

説明

tweepyを使って、自分をフォローしてない(こっちはフォローしてるのに)ユーザーをアンフォローするスクリプトを書きました。

環境

  • mac
  • python3.5
  • ローカル

流れ

自分をフォローしてるユーザーのリストと、自分がフォローしてるユーザーのリストを取得して、相思相愛ではないリストを生成、相思相愛ではないリストをループで一個づつ回して、Twitterのapiを使ってユーザーをリムーブします。

使い方

キー関係を自分用に設定して、python unf.pyとかでローカルで叩けばそのまま動くはずです。

備考

apiを叩きまくると制限が掛かります。なので、一旦、お試しで、スクリプトを叩けるように、timeを使うのをやめて、5回だけループするようにしています。自動化(システムを裏側で動かして、毎日10人づつ決していきたい)みたいなことをしたい場合は、ここらへんをどうにかします。


index = 0
follower_list = []
for follower in tweepy.Cursor(api.followers).items():
    #print( follower.screen_name )
    follower_list.append( follower.screen_name )
    #time.sleep(5)

    if index == 5:
        break

    index += 1

実装

"""
#
#
#
# - mac os local
# - Python 3.5.0
# *******************************************************************
# *You always should remove someone who is not following you.       *
# *The human always should be in love with each other NOT one-sided *
# *******************************************************************
#
#
"""
import time
import tweepy
import sys



"""
#
#
#自分の環境に合わせてください
#Your environment
#
#
"""
CONSUMER_KEY = 'fzTU~~~~~~'
CONSUMER_SECRET = 'aSsW~~~~~~'
ACCESS_TOKEN = '8161~~~~~~'
ACCESS_TOKEN_SECRET = 'hoxQC~~~~~~'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True) 


"""
#
#
#自分をフォローしているユーザーを取得する
#Someone who is follow me
#
#
"""
index = 0
follower_list = []
for follower in tweepy.Cursor(api.followers).items():
    #print( follower.screen_name )
    follower_list.append( follower.screen_name )
    #time.sleep(5)

    if index == 5:
        break

    index += 1

"""
#
#
#自分がフォローしているユーザーを取得する
#Someone who is I am follow them 
#
#
"""
index = 0
friends_list = []
for friends in tweepy.Cursor(api.friends).items():
    #print( friends.screen_name )
    friends_list.append( friends.screen_name )
    #time.sleep(5)

    if index == 5:
        break

    index += 1

"""
#
#
#
#自分はフォローしてるのに、あっちは自分をフォローしてないユーザーを取得
#Get list someone who is not following me even though I following
#
"""
def intersect_list(lst1, lst2):

    lst1 = lst1.copy()
    for element in lst2:
        try:
            lst1.remove(element)
        except ValueError:
            continue
        else:
            print(element)
            print("love each other")
    return lst1


"""
#
#
#
#自分をフォローしてないユーザー削除
#remove someone who is not following me
#
"""
#print( intersect_list(friends_list, follower_list) )
not_following_me_list = intersect_list(friends_list, follower_list)

for you_unfollowing in not_following_me_list:
    api.destroy_friendship(you_unfollowing)
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4