36

我已经研究了一段时间的 Twitter 文档,并且我已经碰壁了如何获取一段时间内关注者增长的统计数据/一段时间内的推文计数......

我想从社区中了解 Twitter API 的作用和since_id含义。max_idcount

我一直在关注这个页面https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline

我正在尝试获取用户的统计信息——

  • 特定时间段内的推文计数
  • 特定时间段内的关注者数量
  • 转推数

我想要一些帮助形成上述查询字符串..

谢谢..

4

3 回答 3

36

since_id 和 max_id 都是非常简单的参数,可用于限制从 API 返回的内容。从文档

since_id- 返回 ID 大于(即比)指定 ID 的结果。可以通过 API 访问的推文数量是有限制的。如果自 since_id 以来已发生 Tweets 限制,则 since_id 将被强制为可用的最旧 ID。 max_id- 返回 ID 小于(即早于)或等于指定 ID 的结果。

因此,如果您有给定的推文 ID,则可以使用这两个参数搜索较旧或较新的推文。

count更简单——它指定了您想要返回的最大推文数,最多 200 条。

不幸的是,API 不会准确地返回你想要的——你不能在查询时指定日期/时间user_timeline——尽管你可以在使用搜索 API 时指定一个。无论如何,如果您需要使用 user_timeline,那么您将需要轮询 API,收集推文,确定它们是否符合您想要的参数,然后相应地计算您的统计数据。

于 2011-06-20T20:07:49.253 回答
13

max_id = tweets id list 的顶部。since_id = 推文 ID 列表的底部。

更多信息:深入了解最后一张图表..这里

于 2013-09-06T06:20:07.680 回答
2

max_id 和 since_id 用于防止 Twitter API 调用出现冗余。将传入的推文可视化为堆积在堆栈上。一个 API 调用必须指定将处理多少(计数)推文。但是,在进行此调用时,可能会添加新的推文。在这种情况下,如果您抽出一个堆栈并运行该过程,您会注意到可能会有一些“碎片”或未处理的推文部分卡在已处理的推文之间。这在下图中也可见。

在此处输入图像描述

为了解决这个问题,使用两个参数来跟踪先前处理的最新/最大 ID 推文 (since_id) 和最近处理的最旧/最低 ID 推文 (max_id)。since_id 指向“fragment”的底部,(max_id-1) 指向“fragment”的顶部。(请注意,与 since_id 不同,max_id 包含在内)因此,参数一起跟踪推文堆栈的哪一部分仍需要处理。

于 2019-04-24T16:01:10.243 回答