2015-05-17 19:33:25 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
2016-05-30 18:40:21 +00:00
|
|
|
import twitools, setuptools
|
2015-05-18 11:05:14 +00:00
|
|
|
import os, time, tweepy
|
2015-05-17 19:33:25 +00:00
|
|
|
|
2016-05-30 18:40:21 +00:00
|
|
|
def getFollowerIDs(two=twitools.twObject()):
|
2015-05-18 11:05:14 +00:00
|
|
|
''' Returns 5,000 follower IDs at most '''
|
2016-05-30 18:40:21 +00:00
|
|
|
return two.api.followers_ids(screen_name=twitools.twObject().whoami())
|
2015-05-17 19:33:25 +00:00
|
|
|
|
2016-05-30 18:40:21 +00:00
|
|
|
def getNamesByIDs(fids=getFollowerIDs(), two=twitools.twObject()):
|
|
|
|
for page in setuptools.paginate(fids, 100):
|
2015-05-18 11:05:14 +00:00
|
|
|
followers = two.api.lookup_users(user_ids=page)
|
|
|
|
for follower in followers:
|
|
|
|
yield follower.screen_name
|
2015-05-17 19:33:25 +00:00
|
|
|
|
2015-05-18 11:05:14 +00:00
|
|
|
def getOutDir(dirname="followers"):
|
|
|
|
if not os.path.isdir(dirname):
|
|
|
|
os.mkdir(dirname)
|
2015-05-17 19:33:25 +00:00
|
|
|
|
2015-05-18 11:05:14 +00:00
|
|
|
def getOutFile(dirname="followers"):
|
|
|
|
getOutDir(dirname)
|
|
|
|
return os.path.join(dirname, str(int(time.time())) + ".txt")
|
|
|
|
|
|
|
|
def writeOutFile(outfile=getOutFile()):
|
|
|
|
with open(getOutFile(), 'a') as f:
|
|
|
|
for follower in getNamesByIDs(getFollowerIDs()):
|
|
|
|
f.write(follower + "\n")
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
writeOutFile()
|