【问题标题】:Can I get more than 3200 tweets from a user with "rtweet"?我可以从“rtweet”的用户那里获得超过 3200 条推文吗?
【发布时间】:2019-04-29 08:06:41
【问题描述】:

我正在使用 rtweet 的函数 get_timeline 来下载推文。但是,我感兴趣的一些用户的数量远远超过允许下载的 3200 条推文(有些用户大约有 47000 条)。有“retryonratelimit”参数,如果你是基于单词或主题标签下载推文,因此我想知道是否有类似的方法可以从一个用户那里获得超过 3200 条推文?

【问题讨论】:

  • 您可以编写一个简单的 for 循环和 max_id 参数来进一步追溯时间。如果您有特定的问题,通常您会提供您迄今为止尝试过的数据和代码。见here。我想这就是你被否决的原因。
  • 感谢您的回答@JBGruber!通常这就是你所做的: zanetti

标签: r twitter timeline rtweet


【解决方案1】:

文档 - 请参阅 ?get_timeline - 包含指向 GET statuses/user_timeline 的 Twitter 开发人员文档的链接。 R 函数只是一个包装器。

如果您随后点击Working with timelines 的链接,您将找到max_id parameter 的解释。

那么基本的方法是:

  1. 获取前 3200 条推文
  2. 使用min(as.numeric(zanetti$status_id))之类的方式获取最早的状态ID
  3. 再次运行 get_timeline 设置 max_id = ID 其中 ID 是步骤 2 中的 ID

注意:我刚刚使用自己的时间线进行了尝试,第 3 步只返回了 40 条推文。因此,您可能还需要等待适当的时间以避免速率限制。请注意,Twitter 基本上会尽其所能阻止您通过 API 请求大量数据 - 归根结底,您想要的可能无法实现。

【讨论】:

  • 谢谢。我也找到了这个解决方案并已经尝试过了。不幸的是,它不起作用——即使等待了超过 15 分钟,它也没有返回一条推文。你有没有机会知道我可以使用不同的包,或者这个限制是否适用于所有这些包?
  • 限制由 Twitter API 施加。
  • 我认为你是对的。很确定它以前可以工作,但似乎他们已经改变了它。 github.com/mkearney/rtweet/issues/278
  • 时间线 API 的硬性最大限制是 3200 条推文。如果您想获得更多个人用户的推文,您可以使用高级搜索 API,但我不知道 rtweet 是否支持这些。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 2010-09-10
  • 1970-01-01
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多