【问题标题】:Getting the overall retweet_count of an account using Twitter API使用 Twitter API 获取帐户的整体 retweet_count
【发布时间】:2015-07-16 10:02:36
【问题描述】:

我们能否获得每个 帐户 或每个 Screenname 的总 Retweet_Count 总数,例如用户级别的追随者计数,因为追随者计数是与用户信息,其中 Retweet_Count 是与每个单独的推文相关联的字段。 我想我需要获取用户的所有推文,然后在用户收到的每条推文中添加归档的 Retweet_Count。这里的问题是使用 twitter rest api 获得的推文总数仅限于最后 200 条推文(仅 2 周 这些 200 中的旧推文)。

我们无法使用 Streaming API 找到历史推文,如果我们使用 streaming api 将所有 实时推文 存储在我们的 local数据库 然后使用我们本地数据库中每条推文记录的id,我们需要调用twitter rest api call(GET statuses/show /:id) 在 loop 中,然后在此循环中添加所有 Retweet_Count 值。但是由于这个原因,restapi 调用的数量正在增加以获得总 Retweet_Count。

请建议我更好的方法。

【问题讨论】:

    标签: twitter


    【解决方案1】:

    不,这根本不可能。

    由于retweet_count 与每个tweet 相关联,因此您需要先获取所有推文。

    我之所以说这是不可能的,是因为如果用户有超过 3200 条推文,那么你就无法获得确切的 retweet_count,因为 twitter 只提供了 3200 条最近的推文用户通过GET statuses/user_timeline

    GET statuses/user_timeline 方法最多只能返回 3,200 个 用户最近的推文。其他状态的本地转推 用户包含在此总数中,无论 include_rts 是否 请求此资源时设置为 false。

    还有一件事。一些推文retweent_count 可能会不时变化。我的意思是有些可能会撤消转推,有些可能会转推旧推文或过去一周的推文。因此,您需要一次又一次地检索所有推文以准确更新至最新的retweet_count。通过这样做,您将有更多机会落入Twitter's Rate Limit

    【讨论】:

    • 谢谢 Raj,你提到我们只得到最近的 3200 条推文,其余的 api 调用 GET statuses/show/:id 是否提供最旧的推文如果我们提供早于 3200 的最旧推文的 ID?为了在我们的任何本地项目中显示用户的 Retweet_Count 和提及次数_Count,这对我们来说是不可能的。
    • @Prabha 是的,你可以得到。但是,想想你将如何获得这些 ID?如果您使用任何其他 API 来获取 ID,那么就会出现速率限制。此外,如果用户有 4000 条推文,那么您需要一次又一次地回忆最新的确切 retweet_count 和mention_count。您可以自己尝试,但由于速率限制、推文可用性和性能问题,我确信这无法完成。
    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 2021-12-25
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    相关资源
    最近更新 更多