Skip to content

Instantly share code, notes, and snippets.

@gka
Created February 2, 2012 22:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gka/1726062 to your computer and use it in GitHub Desktop.
Save gka/1726062 to your computer and use it in GitHub Desktop.
Find most valuable followers on Twitter
from twitter import Twitter, OAuth
import json
auth_token = 'xxxxxxxxxxxxxx'
auth_token_secret = 'xxxxxxxxxxxxxxxx'
consumer_key = 'xxxxxxxxxxxxxxxx'
consumer_secret = 'xxxxxxxxxxxxxxxx'
user = "driven_by_data"
t = Twitter(auth=OAuth(auth_token, auth_token_secret, consumer_key, consumer_secret))
def get_follower_ids(user):
out = []
cur = -1
while cur != 0:
l = t.followers.ids(screen_name=user, cursor=cur)
out += l['ids']
cur = l['next_cursor']
return out
def get_followers(user):
import json
follower_ids = get_follower_ids(user)
k = len(follower_ids)
i = 0
try:
cached = json.loads(open('follower_'+user+'.json','r').read())
except:
cached = []
if len(cached) == k:
followers = cached
else:
followers = []
while i < k:
followers += t.users.lookup(user_id=','.join(map(str, follower_ids[i:i+100])))
i += 100
open('follower_'+user+'.json','w').write(json.dumps(followers))
return followers
followers = get_followers(user)
followers = sorted(followers, key=lambda user: user['followers_count']*-1)
for u in followers[:10]:
print u['screen_name'], u['followers_count']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment