【问题标题】:Tweepy and Python: how to list all followersTweepy 和 Python:如何列出所有关注者
【发布时间】:2017-01-12 23:15:12
【问题描述】:

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

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

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

谢谢大家!

【问题讨论】:

    标签: python twitter tweepy


    【解决方案1】:

    在 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)
    

    【讨论】:

    • 首先感谢您的回复!问题不在于,这给了我所有追随者 id 的列表。问题是使用该 ID,并创建用户名广告相关关注者列表,每次尝试都会给我一个速率限制错误
    • 那么,您要做的是获取给定帐户的所有关注者的 id,然后为每个人发送请求以获取用户名和关注者数量?
    • 这是一个可能的解决方案......或者也许有办法让它在同一个循环中,我找不到。再次感谢
    • api.followers 将返回一个用户对象列表,每个对象都包含他们的 id、screen_name 和 follower_count。使用它而不是只使用 api.followers_id 获取他们的 ID。
    猜你喜欢
    • 2019-02-26
    • 2018-03-26
    • 2023-03-16
    • 2015-09-09
    • 2013-06-30
    • 2018-12-16
    • 2015-07-03
    • 1970-01-01
    • 2017-02-06
    相关资源
    最近更新 更多