了解 Twitter 速率限制
Understanding the Twitter rate limit
我正在使用 Tweepy
编写一个函数,该函数将 return 一个大型 Twitter 帐户的所有关注者并将它们写入一个文件。我一直在阅读有关 Twitter 速率限制的信息,但它仍然不太有意义。文档说“每 15 分钟调用 15 次,每 15 分钟调用 180 次”。然而,当我 运行 我的代码没有睡眠功能时,我设法在推特切断我之前获得了大约 280 个名字。那么我实际上在这里打了多少个电话?我的代码如下:
import tweepy
import time
auth = tweepy.OAuthHandler("...", "...")
auth.set_access_token("...", "...")
api = tweepy.API(auth)
f = open('output.txt', 'w')
timecount = 0
for user in tweepy.Cursor(api.followers, screen_name="NAME").items():
timecount = timecount + 1
if timecount == 200:
print "HOLD ON A SECOND!!!"
#print api.rate_limit_status()
time.sleep(60*15)
timecount = 0
data = user.screen_name
print user.screen_name
print >> f, data
f.close()
现在它在每 280 个名称之间等待 15 分钟,这似乎在起作用。显然,我希望这个 运行 尽可能高效。谁能帮我了解我打了多少个电话,我应该等多久?
在这种情况下,数学非常简单,在 Twitter 将您关闭之前,您实际上发出了 14 个请求,但是您能够获取 280 个名称,因为 tweepy.Cursor(api.followers, screen_name="NAME")
是一个 returns 的请求一次 20 个值,这意味着您在单个请求中获取 20 个值,正如您提到的,您能够获取 280 个名称,这并不奇怪,因为 280/20 = 14 所以实际上你只发出了 14 个请求,你只是迭代了 280 个值以打印出名称等。请参阅 documentation 了解更多详细信息。
我会在评论中添加这个,但我不能应得的声誉和东西。我刚才有同样的问题。实际上,每个请求最多可以获取 5000 个用户名,这意味着您每 15 分钟可以获得 75000 个关注者。只需将计数增加到 5000。调用使用 followers/list 调用。这里是 link.
我正在使用 Tweepy
编写一个函数,该函数将 return 一个大型 Twitter 帐户的所有关注者并将它们写入一个文件。我一直在阅读有关 Twitter 速率限制的信息,但它仍然不太有意义。文档说“每 15 分钟调用 15 次,每 15 分钟调用 180 次”。然而,当我 运行 我的代码没有睡眠功能时,我设法在推特切断我之前获得了大约 280 个名字。那么我实际上在这里打了多少个电话?我的代码如下:
import tweepy
import time
auth = tweepy.OAuthHandler("...", "...")
auth.set_access_token("...", "...")
api = tweepy.API(auth)
f = open('output.txt', 'w')
timecount = 0
for user in tweepy.Cursor(api.followers, screen_name="NAME").items():
timecount = timecount + 1
if timecount == 200:
print "HOLD ON A SECOND!!!"
#print api.rate_limit_status()
time.sleep(60*15)
timecount = 0
data = user.screen_name
print user.screen_name
print >> f, data
f.close()
现在它在每 280 个名称之间等待 15 分钟,这似乎在起作用。显然,我希望这个 运行 尽可能高效。谁能帮我了解我打了多少个电话,我应该等多久?
在这种情况下,数学非常简单,在 Twitter 将您关闭之前,您实际上发出了 14 个请求,但是您能够获取 280 个名称,因为 tweepy.Cursor(api.followers, screen_name="NAME")
是一个 returns 的请求一次 20 个值,这意味着您在单个请求中获取 20 个值,正如您提到的,您能够获取 280 个名称,这并不奇怪,因为 280/20 = 14 所以实际上你只发出了 14 个请求,你只是迭代了 280 个值以打印出名称等。请参阅 documentation 了解更多详细信息。
我会在评论中添加这个,但我不能应得的声誉和东西。我刚才有同样的问题。实际上,每个请求最多可以获取 5000 个用户名,这意味着您每 15 分钟可以获得 75000 个关注者。只需将计数增加到 5000。调用使用 followers/list 调用。这里是 link.