どんな処理をしているかというと簡単で
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 件のコメント:
コメントを投稿