ここで言う「片思い」とは、
あなたがfollowしているのに
相手はfollowしていない人をさします。
そういう人をまとめてfollowからはずすPythonコード
をここに書きます。
python twitterを導入している環境なら動くはずです。
Ubuntu Linuxで動作確認済みです。
remove.py
# -*- coding:utf-8 -*- import twitter import urllib2 import json username = 'yourID' password = '**********' def getFollowers(screen_name=username): ''' follwerのidをリストで返す ''' url = "http://twitter.com/followers/ids/%s.json" % screen_name ids = urllib2.urlopen(url).read() return json.loads(ids) def getFollowing(screen_name=username): ''' followingのidをリストで返す ''' url = "http://twitter.com/friends/ids/%s.json" % screen_name ids = urllib2.urlopen(url).read() return json.loads(ids) def removeNonFollower(): ''' こちらはfollowしているけれど 向こうはfollowしていない人の followを解除する ''' api = twitter.Api( username, password ) followerList = getFollowers() followingList= getFollowing() followerSet = set( followerList ) followingSet= set( followingList ) kataomoiSet = followingSet - followerSet #差集合 kataomoiList= list( kataomoiSet ) print 'follower num = ' + str(len(followerSet)) print 'following num = ' + str(len(followingSet)) print 'delete num = ' + str(len(kataomoiSet)) for ID in kataomoiList: api.DestroyFriendship( ID ) def main(): removeNonFollower() if __name__ == '__main__': main()
上記のコードをremove.pyと名づけて保存します。
username, passwordは使用者のものに書き換えてください。
そして、ターミナルにて
python remove.py
と打てば「片思いfollowはずし」が完了します。
内部ではPythonのSetを使っています。
こちらがfollowしている人の集合をfollowingSetとし、
こちらをfollowしてくれる人の集合をfollowerSetとすると、
その「差集合」
kataomoiSet = followingSet - followerSet
が定義できます。
その集合のfollowをはずすようになっています。
動かしてみたところ、こちらをfollowしてくれている人の一部
のfollowまではずしてしまうようです。そこが許容できれば、
大体思ったとおりの動きをします。よろしければ参考にしてください。
※このコードを動かして被害が出たとしても責任はとりません
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
参考:setを使って、twitterの片思い、片思われ、両思いを取得する
英単語をつぶやくbot、eitantanのfollowing数が2000
に達したので、一度following数を下げるために
このコードを書きました。