どんな処理をしているかというと簡単で
http://api.twitter.com/1/friends/ids.json?&screen_name=screen_nameで取得できるフォロー中のリストから
http://api.twitter.com/1/followers/ids.json?&screen_name=screen_nameで取得でいるフォローされているリストのuser_idを削除して
残りのゆーざー==”自分をフォローしてないゆーざー”
となるわけなので
それらをoauthtwitterで継承して作ったメソッドdestroy_users_from_queryで削除してます。
oauthtwitterについてはここをみて下さい。
http://code.google.com/p/oauth-python-twitter2/
#!/usr/bin/env python # encoding: utf-8 import urllib2 import simplejson import oauthtwitter #format ここにTwitterの登録情報いれる consumer_key = "" consumer_secret = "" oauth_token = "" oauth_token_secret = "" screen_name = "" class Twitter(oauthtwitter.OAuthApi): """oauthtwitter.OAuthApiに下記のメソッドをついかする〜""" def DestoryUser(self, user_id, options = {}): options['user_id'] = user_id self.ApiCall("friendships/destroy", "POST", options) def destroy_users_from_query(): twitter = Twitter(consumer_key, consumer_secret, oauth_token, oauth_token_secret) json1 = urllib2.urlopen("http://api.twitter.com/1/friends/ids.json?&screen_name=" + screen_name) json2 = urllib2.urlopen("http://api.twitter.com/1/followers/ids.json?&screen_name=" + screen_name) following_list = simplejson.load(json1) followed_list = simplejson.load(json2) for i in followed_list: if i in following_list: following_list.remove(i) pass num = 0 print "prgress in deleting..." for i in following_list: try: twitter.DestoryUser(i) num +=1 except Exception, e: print e return "Unfollowed:"+str(num)+" users" def main(): print "まじでやる?(´・ω・`)\n"+"put y" query = raw_input() if query == "y": print destroy_users_from_query() else: exit() if __name__ == '__main__': main()
0 件のコメント:
コメントを投稿