在tweepy中循环错误

Kyl*_*ble 1 printing for-loop tweepy

我最近一直在玩弄tweepy,我试图吸引追随者并跟随给定用户.

 followingids = []
 followids = []
 userid = "Someone"#sets target

 for page in tweepy.Cursor(api.followers_ids, screen_name=userid).pages():#gets the followers for userID
     followingids.extend(page)
     time.sleep(60)#keeps us cool with twitter


  for page in tweepy.Cursor(api.friends_ids, screen_name=userid).pages():#gets the followers for userID
     followids.extend(page)
     time.sleep(60)#keeps us cool with twitter

 #where weirdness starts 
 print len(followingids), "followers have been gathered from", userid 
 print len(followids), " users are followed by ", userid

 followingusers = api.lookup_users(user_ids=followingids)#ieterates through the list of users and prints them
 followedusers = api.lookup_users(user_ids=followids) #<does not work but above does 


 print "users of following", userid 
 for u in followingusers:
     print u.screen_name


 print "users followed by", userid
 for s in followedusers:
     print s.screen_name
Run Code Online (Sandbox Code Playgroud)

第二个打印for循环给出了这个错误:

 Traceback (most recent call last):
   File "twitterBot.py", line 30, in <module>
     followedusers = api.lookup_users(user_ids=followids) #<does not work but above does 
   File "/usr/local/lib/python2.7/dist-packages/tweepy/api.py", line 160, in lookup_users
     return self._lookup_users(list_to_csv(user_ids), list_to_csv(screen_names))
   File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 230, in _call
     return method.execute()
   File "/usr/local/lib/python2.7/dist-packages/tweepy/binder.py", line 203, in execute
     raise TweepError(error_msg, resp)
 tweepy.error.TweepError: [{u'message': u'Too many terms specified in query.', u'code': 18}]
Run Code Online (Sandbox Code Playgroud)

跟随用户和以下用户都有推特ID号码,我真的剪切并粘贴了打印代码,那么为什么第一个工作而第二个工作不起作用?

Lui*_*igi 6

你的代码不会被打破.Twitter 限制您通过GET用户查找返回100个用户(这是什么api.lookup_users).请求超过100将导致Tweepy错误代码18,您只有跟随用户查询,这看起来像您查询的用户跟随超过100个用户,但后面少于100.

一个简单的解决方案是迭代搜索关注者/被关注用户列表(如果您希望代码更加健壮,那么这两者都是安全的).遍历每100个用户ID,并且一次api.lookup_users只能查找最多100个用户ID .