拉取所有一个账号的推特关注者,目前只能获取5000个ID

Pulling all of an accounts Twitter followers, currently can only get the 5000 IDs

我已经制作了一个代码,可以使指定 Twitter 帐户的关注者静音,但显然在拉取关注者 ID 时我只能获得 5000。有没有办法让我继续使用 'last seen' 拉取更多方法或游标?

import tweepy
import time

consumer_key = *****
consumer_secret = *****
key = *****
secret = *****

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)
api = tweepy.API(auth, wait_on_rate_limit=True)
user_name = 'realdonaldtrump'

def mute():
    muted_users = api.mutes_ids() 
    followers = api.followers_ids(user_name)
    try:
        for x in followers:
            if x in muted_users :
                pass
            else:
                api.create_mute(x)
                time.sleep(5)
    except Exception:
        print('Error')

是的,这个函数支持游标。从 Tweepy examples 开始,您可以像这样使用它们 - 您需要将其修改为静音而不是跟随。

for follower in tweepy.Cursor(api.followers).items():
    follower.follow()

对于拥有大量关注者的帐户,您会遇到的问题是此处的速率限制很低 - 15 分钟内有 15 个呼叫 - 因此这将需要很长时间才能完成。您还可能会在一段时间内达到可以静音的帐户数量限制。