- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在几个 Twitter 帐户中拥有大约 200,000 名 Twitter 关注者。我正在尝试查找我的大部分关注者都在关注的 Twitter 帐户。
查看了 Search API 后,我认为这会非常慢,除非我遗漏了什么。
40 次调用使用 GET followers/ids获取 200,000 个帐户的列表。然后我能想到的就是对 GET friends/ids 进行 200,000 次调用.但按照目前每小时 150 次调用的速率限制,这将需要 55 天。即使我可以让 Twitter 稍微达到我的极限,这仍然会很慢。有什么想法吗?
最佳答案
对您的问题的简短回答是,不,确实没有快速的方法来做到这一点。此外,随着 API v 1.0 在 3 月的某个时候被弃用,而 v 1.1 成为国家法律(稍后会详细介绍)。
据我了解,您要做的是为最初的 200,000 个关注者帐户中的每一个帐户编制一个关注帐户列表。然后你想将这 200,000 个原始帐户中的每一个都算作“选民”,然后将这 200,000 个中的任何一个帐户作为“候选人”。最终,您希望能够根据 200,000 人名单中的“投票”对候选人名单进行排名。
一些事情:
1.) 我相信您实际上是在引用 REST API ,而不是搜索 API。
2.) 根据您所说的每小时收到 150 个请求,我可以推断您正在向相关 API 端点发出未经身份验证的请求。这将您限制为只能调用 150 次电话。作为短期修复(即,在接下来的几周内,在 v 1.0 停用之前),您可以改为发出经过身份验证的请求,这会将您的每小时速率限制提高到 350(来源:Twitter API Documentation)。仅此一项,您每小时的通话量就会增加一倍以上。
2.) 如果这是您期望需要持续进行的事情,那么事情会变得更糟。一旦 API 1.0 不再可用,您将受到 v 1.1 API 限制的约束,其中 a.) 无论如何都需要身份验证,并且 b.) 每个 API 方法/端点都受到限制。特别是对于 GET friends/ids 和 GET followers/ids,您只能每 15 分钟调用 15 次 或每小时 60 次。这意味着您想要进行的那种分析基本上将变得不可行(除非您通过使用多个应用程序/IP 地址等来绕过 Twitter API 服务条款)。您可以阅读所有相关信息 here .可以说,依赖这些 API 端点进行网络分析的研究人员和开发人员对这些变化不太满意,但 Twitter 似乎并没有缓和其在这方面的立场。
考虑到以上所有情况,我最好的建议是在您还可以的时候使用 API 1.0 版,并开始发出经过身份验证的请求。
另一个想法——不确定你的用例是什么——但你可能会考虑从 200,000 名关注者中的每一个中提取 1000 条最新的推文,然后利用每条推文中包含的关于提及的元数据。提及其他用户可能比知道某人只是关注其他人更有信息量。您仍然可以统计提及次数最多的帐户。这里的好处是,从 API 1.0 迁移到 1.1 时,为用户拉入时间线的端点实际上会将其 API 限制从每小时 350 个提高到 720 个(来源:Twitter API 1.1 documentation)
希望这对您有所帮助,祝您好运!
本
关于ruby - 使用 Twitter API 获取大量用户列表的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821434/
以下是一个非常简单的ruby服务器。 require 'socket' local_socket = Socket.new(:INET, :STREAM) local_addr = Socket.
我正在使用 OS X(使用 bash),并且是 unix 的新手。我想知道是否可以修改一些文件以便运行 ruby 程序,我不需要“ruby file.rb”,而是可以运行“ruby.rb”。 有理
我在用 Ruby 替换字符串时遇到一些问题。 我的原文:人之所为不如兽之所为。 我想替换为:==What== human does is not like ==what== animal does.
我想在一个循环中从 Ruby 脚本做这样的事情: 写一个文件a.rb(每次迭代都会改变) 执行系统(ruby 'a.rb') a.rb 将带有结果的字符串写入文件“results” a.rb 完成并且
我的问题是尝试创建一个本地服务器,以便我可以理解由我的新团队开发的应用程序。我的问题是我使用的是 Ruby 2.3.3,而 Gemfile 需要 2.3.1。我无法编辑 Gemfile,因为我被告知很
我有一个使用 GLI 框架用 Ruby 编写的命令行实用程序。我想在我的主目录中配置我的命令行实用程序,使用 Ruby 本身作为 DSL 来处理它(类似于 Gemfile 或 Rakefile)。 我
我的 Rails 应用 Controller 中有这段代码: def delete object = model.datamapper_class.first(:sourced_id =>
我正在寻找的解析器应该: 对 Ruby 解析友好, 规则设计优雅, 产生用户友好的解析错误, 用户文档的数量应该比计算器示例多, UPD:允许在编写语法时省略可选的空格。 快速解析不是一个重要的特性。
我刚开始使用 Ruby,听说有一种“Ruby 方式”编码。除了 Ruby on Rails 之外,还有哪些项目适合学习并被认可且设计良好? 最佳答案 Prawn被明确地创建为不仅是一个该死的好 PDF
我知道之前有人问过类似的问题,但是我该如何构建一个无需在前面输入“ruby”就可以在终端中运行的 Ruby 文件呢? 这里的最终目标是创建一个命令行工具包类型的东西。现在,为了执行我希望用户能够执行的
例如哈希a是{:name=>'mike',:age=>27,:gender=>'male'}哈希 b 是 {:name=>'mike'} 我想知道是否有更好的方法来判断 b 哈希是否在 a 哈希内,而
我是一名决定学习 Ruby 和 Ruby on Rails 的 ASP.NET MVC 开发人员。我已经有所了解并在 RoR 上创建了一个网站。在 ASP.NET MVC 上开发,我一直使用三层架构:
最近我看到 Gary Bernhardt 展示了他用来在 vim 中执行 Ruby 代码的 vim 快捷方式。捷径是 :map ,t :w\|:!ruby %. 似乎这个方法总是执行系统 Rub
在为 this question about Blue Ruby 选择的答案中,查克说: All of the current Ruby implementations are compiled to
我有一个 Ruby 数组 > list = Request.find_all_by_artist("Metallica").map(&:song) => ["Nothing else Matters"
我在四舍五入时遇到问题。我有一个 float ,我想将其四舍五入到小数点后的百分之一。但是,我只能使用 .round ,它基本上将它变成一个 int,意思是 2.34.round # => 2. 有没
我使用 ruby on rails 编写了一个小型 Web 应用程序,它的主要目的是上传、存储和显示来自 xml(文件最多几 MB)文件的结果。运行大约 2 个月后,我注意到 mongrel 进程
我们如何用 Ruby 转换像这样的字符串: 𝑙𝑎𝑡𝑜𝑟𝑟𝑒 收件人: Latorre 最佳答案 s = "𝑙𝑎𝑡𝑜𝑟𝑟𝑒" => "𝑙𝑎𝑡𝑜𝑟𝑟𝑒" s.u
通过 ruby monk 时,他们偶尔会从左侧字段中抛出一段语法不熟悉的代码: def compute(xyz) return nil unless xyz xyz.map {|a,
不确定我做错了什么,但我似乎弄错了。 问题是,给你一串空格分隔的数字,你必须返回最大和最小的数字。 注意:所有数字都是有效的 Int32,不需要验证它们。输入字符串中始终至少有一个数字。输出字符串必须
我是一名优秀的程序员,十分优秀!