python - tweepy 计数限制为 200?

标签 python twitter tweepy

我目前正在尝试检索某个拥有大量关注者的大帐户的关注者。

我正在使用 Tweepy 和这段代码(带光标):

follower_cursors = tweepy.Cursor(api.followers, id = id_var,count=5000)
            for friend in follower_cursors.items():

好吧,如果我不指定计数,似乎默认情况下每页只显示 20 个结果,但从 Twitter API 文档来看,它可以提供 5000 个关注者,我试图将其设置为最大值。

然而,这似乎没有被考虑在内,每个页面最多包含 200 个条目,这是一个真正的问题,因为您将更容易触发速率限制。

我做错了什么?有没有办法制作包含 5000 个 ID 的 Tweepy 请求页面,以最大限度地减少请求并覆盖默认的最大值 200?

谢谢!

最佳答案

你可以使用 cursor for pages而不是 items,然后处理每页的项目:

for page in Cursor(api.user_timeline).pages():
    # page is a list of statuses
    process_page(page)

    # or iterate over items in `page`

我在 tweepy Cursor 中没有看到限制对于返回的结果,所以它应该返回尽可能多的结果。


上一个答案:

最大每页结果由 Twitter API 强制执行,而不是由 tweepy 强制执行。 应该在每次调用 200 个结果的列表中分页,Cursor 已经为您做了。如果有 5000 个关注者,那么每个查询最多 200 个结果,您只使用了 25 个调用。你还有 4975 个电话可以做其他事情。

要超过每小时 5000 次的速率限制,您需要每分钟至少调用 83 次或每秒调用 1.4 次。

请注意,“读取限制”是针对每个应用程序的,而“写入限制”是针对每个用户的。因此,您可以将任务分配给两个或多个读取密集型应用*

考虑使用 Streaming API相反,如果它更适合您的需求。

*:虽然我确信 Twitter 有适当的控制措施来防止滥用。

关于python - tweepy 计数限制为 200?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23460560/

相关文章:

python - 如何将位置过滤器添加到 tweepy 模块

python - 如何获取 pandas 中当前时间和向前 15 秒之间的差异?

javascript - Node js - 使用 Bell 进行 Hapi JS 身份验证

带有 SLRequest 的 iOS 转发返回错误的 URL 错误

android - 如何代理对 api.twitter.com 的请求,包括 SSL 证书?

python-2.7 - 使用 tweepy 向最新关注者发送直接消息

python - 如果索引超出范围(Python/Django),如何保存 None/Null

python - 如何使用 Python ImageDraw 库更改字体大小

python - 如何在图像的黑色区域上绘制绿线?

python - Tweepy Mentions_timeline 返回一个空列表