Tweepy和Python:如何列出所有关注者

时间:2016-09-05 14:44:59

标签: python twitter tweepy

在Python中使用tweepy我正在寻找一种方法来列出一个帐户中的所有关注者,包括用户名和关注者数量。 现在我可以用这种方式获取所有id的列表:

ids = []
for page in tweepy.Cursor(api.followers_ids, screen_name="username").pages():
    ids.extend(page)
    time.sleep(1)

但是有了这个id列表,我无法获得每个id的用户名和关注者数量,因为速率限制超过了...... 我如何完成此代码?

谢谢大家!

1 个答案:

答案 0 :(得分:4)

在REST API上,您被允许180 queries every 15 minutes,我猜Streaming API也有类似的限制。你不想太接近这个限制,因为你的应用程序最终会被阻止,即使你没有严格命中它。 由于您的问题与速率限制有关,因此您应该在for循环中进行睡眠。我会说sleep(4)应该足够了,但这主要是试验和错误的问题,尝试改变价值并亲眼看看。

这样的东西
sleeptime = 4
pages = tweepy.Cursor(api.followers, screen_name="username").pages()


while True:
    try:
        page = next(pages)
        time.sleep(sleeptime)
    except tweepy.TweepError: #taking extra care of the "rate limit exceeded"
        time.sleep(60*15) 
        page = next(pages)
    except StopIteration:
        break
   for user in page:
       print(user.id_str)
       print(user.screen_name)
       print(user.followers_count)