使用Twitter API获取大量用户的Followings列表的一种简单方法



我在几个推特账户中有大约200000名推特粉丝。我正在努力寻找我的大部分追随者关注的推特账户。

看过搜索API后,我认为这将是非常缓慢的,除非我错过了什么。

40个使用GET followers/ids的调用来获取200000个帐户的列表。然后我所能想到的就是打20万个电话来获取朋友/ids。但按照目前150个电话/小时的费率限制,这需要55天。即使我可以让推特稍微提高我的极限,这仍然会很慢。有什么想法吗?

问题的简短答案是,不,确实没有快速的方法。此外,API 1.0版在3月份的某个时候被否决,1.1版是该国的法律(稍后将对此进行更多介绍)。

据我所知,你想做的是为最初的20万个关注账户中的每一个编制一份关注账户列表。然后,你想把这20万个原始账户中的每一个都算作"选民",然后把这20多万个账户中的任何一个后面的账户总数算作"候选人"。最终,你希望能够根据20万人名单中的"选票"对这份候选人名单进行排名。

几件事:

1.)我相信您实际上引用的是REST API,而不是搜索API。

2.)根据您所说的每小时收到150个请求,我可以推断您正在向有问题的API端点发出未经验证的请求。这限制了你只能打150个电话。作为一个短期修复(即,在接下来的几周内,在v1.0退役之前),您可以进行身份验证请求,这将使您的小时费率限制提高到350(来源:Twitter API文档)。仅此一项就可以使你每小时的通话次数增加一倍以上。

2.)如果这是你期望持续做的事情,事情会变得更糟。一旦API 1.0不再可用,您将受到v 1.1 API限制,a)无论如何都需要身份验证,b)每个API方法/端点都受到限制。特别是对于GET好友/ids和GET关注者/ids,您每15分钟只能拨打15个电话每小时60个。这意味着你想要做的那种分析基本上是不可行的(除非你通过使用多个应用程序/ip地址等绕过Twitter API的服务条款)。你可以在这里阅读所有这些。只需说,依赖这些API端点进行网络分析的研究人员和开发人员对这些变化不太满意,但Twitter似乎并没有缓和其在这方面的立场。

考虑到以上所有内容,我的最佳建议是在您仍然可以的时候使用API 1.0版,并开始进行身份验证请求。

另一个想法是——不确定你的用例是什么——但你可以考虑从20万粉丝中的每一个人那里提取1000条最新的推文,然后利用每条推文中包含的关于提及的元数据。提及其他用户可能比知道某人只是关注他人更能提供信息。你仍然可以统计提到最多的账户。这里的好处是,在从API 1.0移动到1.1的过程中,为用户引入时间表的端点实际上将其API限制从每小时350提高到720(来源:Twitter API 1.1文档)

希望这能有所帮助,祝你好运!

Ben

最新更新