tweepy - 如何使用 Tweepy/TwitterAPI 获取用户朋友的朋友,而不会给速率限制带来太多负担?
问题描述
我正在使用 tweepy API,并且我创建了一个方法来获取用户的关注者(又名朋友)。
def get_following(self, name=''):
client = self.twitter_client
following_results = tweepy.Cursor(client.friends, screen_name=name, count=200).pages()
i = 0
# Each page returns a list of what you requested (in this case: users).
for list_of_users in following_results:
for user in list_of_users:
# do something with the user
我正在尝试构建一个简单的程序,该程序将获得用户朋友的朋友。
输入用户->检索该用户的朋友->为输入用户的每个朋友获取他们的朋友列表(最终目标)。
编写逻辑来获取这些数据不是问题。
我对速率限制有一个大问题。对于您输入该方法的第一个用户,这很好。我在一个有 500 个朋友并使用 tweepy rate_limit_status() 的用户上测试了上面的方法,对朋友的 15 个请求按预期减少了 3 到 12 个请求(最大计数为 200,所以分页次数为 3 次),但以该速率,假设该用户的下四个朋友也有 500 个关注者,我每 15 分钟只能请求五个用户(包括第一次迭代中输入的用户)。因此,假设该用户的每个朋友也有 500 个朋友(可能更多),需要一百个(5 个请求/15 分钟会话 * 100 = 原始用户的所有 500 个朋友)15 分钟会话才能获得所有朋友原始用户的朋友(25 小时)。
时间长了,我查了 Stack overflow 和 tweepy/twitter API 文档来解决这个困境,还没有真正找到任何东西,所以我不妨在这里问一下。我试图使它成为一个易于使用的程序,其中任何用户名都可以输入,并且我得到用户朋友的朋友的输出,但这对于单个用户来说已经是一个时间上的挑战。
这甚至可能与当前 15 个好友请求/15 分钟的 Twitter 速率限制,或者有没有办法解决这个问题?
谢谢。
解决方案
推荐阅读
- signalr - 使用 SignalR 发布数据?
- python - 类对象被误认为是 int
- python - 如何从python中的文本文件制作嵌套字典?
- javascript - 无法使用 formik 在 material-ui 中更改我的文本字段值
- java - 无法在 Android Studio 中选择 Java
- cassandra - 无法连接到 cassandra 中的端口
- javascript - 在这种特殊情况下,我如何存根类
- r - 当ggplot2中的stat ='count'时如何手动更改条形图的填充颜色
- windows - 调试进程死锁(LdrpDrainWorkQueue/LdrpLoadCompleteEvent)
- php - 数据导出后如何在 WordPress 中显示来自 Caldera 表单插件的评分?