无法在 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)
我正在尝试从使用 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)