无法在 Tweepy v2 API 中将 Cursor 与 get_users_tweets 一起使用

Can't use Cursor with get_users_tweets in Tweepy v2 API

我正在尝试从使用 Tweepy v2 API 的用户那里检索最近的 3200 条推文。我进行了身份验证并找到了用户:

client = tweepy.Client(bearer_token=bearer_token,....
user = client.get_user(username=screen_name)

我似乎无法使用 Cursor 来获取这样的推文:

tweets = tweepy.Cursor(client.get_users_tweets,
                       id=user.data.id,
                       count=200).items(3200)

错误是“tweepy.errors.TweepyException:此方法不执行分页”。不过,Tweepy 文档说 get_users_tweets 确实支持分页。

预计到达时间追溯:

Traceback (most recent call last):
  File "/Users/sean/projects/misc/./tweet-dump.py", line 71, in <module>
    get_all_tweets("Daily_Epsilon")
  File "/Users/sean/projects/misc/./tweet-dump.py", line 23, in get_all_tweets
    tweets = tweepy.Cursor(client.get_users_tweets,
  File "/usr/local/lib/python3.9/site-packages/tweepy/cursor.py", line 40, in __init__
    raise TweepyException('This method does not perform pagination')
tweepy.errors.TweepyException: This method does not perform pagination

tweepy.Cursor 处理 Twitter API V1.1 的分页。

由于您使用的是 Twitter API V2,因此您必须使用 tweepy.Paginator(参见 here)。

所以你的代码应该是这样的:

# Please note that the count argument is called max_results in this method
paginator = tweepy.Paginator(client.get_users_tweets, id=user.data.id, max_results=200)

for tweet in paginator.flatten(limit=3200):
    print(tweet)