【问题标题】:Whether to choose Search or Streaming API of Twitter for public geo-tweets?是否为公共地理推文选择 Twitter 的 Search 或 Streaming API?
【发布时间】:2012-02-22 16:45:44
【问题描述】:

我想开发一个 Android 应用程序,该应用程序将根据用户的(当前/指定)位置从 Twitter 公共时间线获取带有地理标记的推文。如果在特定时间可用,我将有一个刷新按钮和更多推文(自定义大小最大为 30)。

那么哪种 API 适合这种情况呢?搜索 API 或 Streaming API。

我将使用 Twitter4J 库。

【问题讨论】:

  • 这个 URL 会给我最新的推文吗? search.twitter.com/search.json?geocode=37.781157,-122.398720,1mi 我可以用这个。

标签: android twitter twitter4j


【解决方案1】:

流 API 要求您保持连接处于活动状态。这需要一个无限循环的服务器进程来获取最新的推文。

优势

1) 检索结果滞后: 使用这种方法传递的推文基本上是实时的,从发布推文到从 API 接收到推文之间最多有一两秒的延迟

2) 不受速率限制。

搜索 API 是这两种方法中较容易实现的一种,但速度有限 .每个请求将返回最多 100 条推文,您可以使用页面参数来请求最多 15 个页面,理论上单个查询最多可以返回 1,500 条推文。

优势

1)查找过去的推文:搜索 API 在这方面默认胜出,因为流式 API 不传递任何过去的推文

2)更容易实现

在您的情况下,对于实时推文,如果您的请求数量很高,您可以使用流式 API。

请访问this link了解更多详情。

【讨论】:

  • Streaming API 中的位置很复杂,就像你必须制作一个盒子来获取该区域的推文。在 Search API 中,您可以通过提供纬度/经度和半径来获取推文。但结果集没有地理标记。那么为什么在该结果中提取了这些推文。个人资料位置不是那么真实的东西。有什么想法吗?
  • 那为什么那些推文会在那个结果中被提取?你的意思是说,在传递 lat/long 和 radius 之后检索到的结果?
  • 是的,这些推文是我使用 lat/long 和 radius 对 Search API 进行查询的结果的一部分。但他们的地理代码位置为空。所以他们根据他们的个人资料进行获取。我的问题是,这种方法是否适合获取这些推文?由于他们的个人资料位置,他们来找我。不是他们的地理编码数据。
  • 虽然不可靠,但如果所有结果的地理代码位置不为空,您可以将记录分为带有地理标记的记录和不带地理标记的记录。通过这样做,您将知道哪些记录是完全可靠的,哪些记录可能是错误的。
猜你喜欢
  • 2017-11-09
  • 2013-09-23
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 2011-08-22
  • 2013-09-19
相关资源
最近更新 更多