我想在推特上打印所有关注者或关注者:
while True:
try:
for user in tweepy.Cursor(api.followers,screen_name='TestUser').items():
print user.screen_name
break
except tweepy.TweepError:
time.sleep(60*20)
当我运行此部分时,它将尝试捕获以下内容.我的线程中捕获的用户数是200.但它在20分钟的睡眠后仍无法继续运行.它会尝试但会再次捕获用户.
我该如何解决?
解决方法:
您每次在while循环中的for用户中都创建一个新的迭代器时,将在每个while循环迭代中重新开始.
尝试使用发电机:
def handle_errors(cursor):
while True:
try:
yield cursor.next()
except tweepy.TweepError:
time.sleep(20 * 60)
for user in handle_errors(tweepy.Cursor(api.followers,screen_name='TestUser').items()):
print user.screen_name