【问题标题】:Retrieve most retweeted tweets for a given hashtag检索给定主题标签的最多转发推文
【发布时间】:2016-07-21 19:24:15
【问题描述】:

我想检索给定主题标签的推文,并将它们从转发次数最多的推文排序到转发次数最少的推文。

我发现最接近的是使用搜索调用并使用类型标签: 例如:http://search.twitter.com/search.json?q=TheHashTagHere&result_type=popular

但是,我不确定“流行”选项的工作原理。

例如,如果它找到 100 条带有该主题标签的推文,我认为它应该显示 X 条被转发次数最多的推文,如果这些推文都没有被转发,那么它应该随机显示其中 X 条(或以其他方式排序,例如最新的)。

不幸的是,如果遵循某种未知规则来识别流行和不流行的内容,甚至包含数千条推文的主题标签可能只会返回一两个结果。

我希望我说清楚了。在此先感谢:)

PS:我会使用 PHP,但我认为这不应该影响问题?

【问题讨论】:

  • 您认为您可以向我展示使用此特定 API 的所有代码吗?我正在尝试做一些非常相似的事情,但并不完全知道如何解决这个问题。谢谢
  • 好吧,GmonC 的答案和我的答案几乎包含了你需要的一切。抱歉,我现在没有我的代码,但检查 dev.twitter.com 应该会有所帮助。

标签: twitter


【解决方案1】:

结果有时会包含一个 元数据中的 result_type 字段 值为“最近”或 “受欢迎的”。热门结果衍生 通过 Twitter 计算的算法, 默认最多出现 3 个 Search API 的混合模式 下运行。热门结果 在元数据中包含另一个节点 recent_retweets。这个领域 表示该推文转发了多少 有过。

Source(重点是我的)

只需拨打result_type=popular 并检查recent_retweets 节点,看看它有多受欢迎。 result_type=popular will become the default 在即将发布的版本中,因此请注意省略此参数。

热门推文的结果不按时间顺序排列。 *

如果您希望始终显示结果,请使用result_type=mixed:它们将在“元数据”部分中显示result_type,其值为“最近”,热门结果将显示为“流行”。关于 result_types 的小参考:

混合:在响应中包含流行的和实时的结果。

recent:仅返回响应中的最新结果

流行:仅返回响应中最流行的结果。

如果搜索查询有任何热门结果,则将在顶部返回这些结果,即使它们比其他结果更早。 *

*[Twitter API Announcements]

【讨论】:

  • 所以没有办法按照他们被转发的次数对结果进行排序,对吧?除了热门推文......
  • @ozke: 接收json格式的数据,可以使用json_decode br.php.net/manual/en/function.json-decode.php进行转换,按照自己的方式进行排序。
  • 但是转推数变量只出现在那些被高音标记为受欢迎的人上,不是吗?如果一条推文有 2 或 3 次转发,您将不​​知道。我说的对吗?
  • @ozke:是的,不幸的是,转推变量只出现在“流行”上(尽管我不能回答关于 2 或 3 RT,因为这是内部 Twitter 算法)。正如您在我发布的两个示例(使用混合请求和流行请求)中看到的那样,您只能看到那些“流行”节点的转发信息。
  • 我想我所要求的是不可能的(至少在当前的 API 中)。不过感谢您的大力帮助。赏金是给你的:)
【解决方案2】:

这不是一种编程方法,而是在带有 chrome 扩展 (HackyBird) 的浏览器中工作:

  • 安装extension
  • 搜索短语,例如#Social (twitter.com/search?q=%23Social)
  • 单击扩展对其进行排序(您可以在扩展选项中调整用于排序的转发/喜欢的比率)。

附:它还会对您或任何其他用户的时间线进行排序。

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    相关资源
    最近更新 更多