最大限度地提高Twitter对日志粉丝的速率限制

时间:2015-05-27 23:35:25

标签: python twitter social-networking rate-limiting

Twitter API的速率限制为每15分钟15个请求。

我正在尝试使用python来运行并编译我的关注者列表,但由于某种原因,当只记录300个关注者时,速率限制最大。我读过最大值应该接近5,000。我哪里错了?

如果我有数千个,甚至超过100万粉丝并且我正在尝试打印每个关注者列表,那么我怎样才能最大限度地提高Python / Twitter返回之前的关注者数量限制?

这是我到目前为止的代码:

gcloud compute instances create

1 个答案:

答案 0 :(得分:3)

当您访问client.followers中的tweepy时,您实际上正在执行此推文请求GET followers list。在此请求中,您有两个限制:

(1)每15分钟窗口的请求数量:

  

请求/ 15分钟窗口(用户身份验证)15

     

请求/ 15分钟窗口(app auth)30

(2)每次请求都可以获得的关注者数量,请参阅参数count

  

每页返回的用户数,最多为200.默认为20。

因此,举一个例子,想象一下例如所有用户都有200个关注者,你可以在15分钟的窗口中获得15个用户的关注者,你总共会得到3000个关注者。另一个例子,如果用户有3000个关注者,则需要15个请求才能获取所有关注者,然后您将使用完整的15分钟窗口。 (我假设您使用用户身份验证)。

另一方面,如果您的用户只有1个粉丝,那么每15分钟就会有15个粉丝。

您提到的数字5000是另一个Twitter请求GET followers idstweepy中的client.followers_idscount。在这一个中,您没有获得用户的完整信息,只有id,但速率限制不那么严格:

(1)每15分钟窗口的请求数量:

  

请求/ 15分钟窗口(用户身份验证)15

     

请求/ 15分钟窗口(app auth)15

(2)您可以在每个请求中获得的关注者ID数量,请参阅参数 <DataGrid ItemSource="........." CanUserSortColumns="True"> <DataGrid.Columns> <DataGridTemplateColumn Headr="aaaa" SortMemberPath="MyValue" SortDirection="Ascending" CanUserSort="True"> ................ </DataGridTemplateColumn > <DataGridTemplateColumn ........> ......................... </DataGridTemplateColumn> <DataGridTemplateColumn ...........> ........................ </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid>

  

指定尝试检索的ID数量,每个不同请求最多5,000个。

因此,通过此请求,您可以在每个窗口获得最多15 * 5000 = 75000个关注者(但是,我坚持,只有id)。

希望它有所帮助。

相关问题