【发布时间】:2019-12-14 11:09:17
【问题描述】:
我有一些看起来像这样的代码:
import tweepy
auth = tweepy.OAuthHandler(...)
auth.set_access_token(...)
api = tweepy.API(auth)
for e, i in enumerate(tweepy.Cursor(api.retweeters, '1157819926532501504').items()): # 1157819926532501504 is the id of https://twitter.com/NASA/status/1157819926532501504
print(e, i)
当我运行它时,我会得到这样的结果:
0 3249595190
1 1678701169
2 34877330
...
86 625615049
87 1157852235381870592
如果您查看https://twitter.com/NASA/status/1157819926532501504,您会看到这条推文有 3.2K 转推,而只有 88 条被打印出来。为什么是这样?我正在使用 tweepy.Cursor,所以分页应该自己处理,不是吗?我尝试api.retweeters(id='1157819926532501504', cursor=-1) 看看光标发生了什么,我得到了这样的响应:
([3249595190, 1678701169, ..., 625615049, 1157852235381870592], (0, 0))
更改光标参数不会更改响应,使用page 参数也不会。
我误解了基本原理吗?推特是否不允许检索推文的所有转发者?我误解了tweepy吗?我会很感激任何帮助。谢谢!
【问题讨论】:
-
我自己也遇到了这个。我认为他们的免费 API 只有一页。我仍在搜索或特别记录此限制的地方,但我无法获得超过一页的转发者。