通过Tweeter API收集旧推文

时间:2017-09-04 13:49:15

标签: twitter tweepy twitter-streaming-api twython python-twitter

我将收集关于3年前发生的事件的推文,但我读到某个地方,Twitter只允许其API用户收集不超过一周的推文。那么,我想问一下这是否属实,我怎样才能收集3年或更久以前的推文?

2 个答案:

答案 0 :(得分:1)

使用以下方式获取推文:

time_line_statuses = api.GetUserTimeline(screen_name=screen_name, include_rts=True)
  1. 使用for循环
  2. 循环 time_line_statuses
  3. 检查" created_at"每件物品的属性,看它是否比您的截止日期更年轻。
  4. 每个项目都有一个" id"属性。价值似乎随着时间而增长。较低的ID =较旧。
  5. Store' id'来自 time_line_statuses 的最旧状态为 oldest_id
  6. 致电
  7. time_line_statuses = api.GetUserTimeline(screen_name=screen_name, include_rts=True, max_id=)
    
    1. oldest_id 存储为 previous_oldest_id

    2. 在继续循环之前,检查 oldest_id 不等于 previous_oldest_id 时重复1-6

    3. 每小时你只能向twitter发出100条请求。您需要计算您的Get()调用,并让程序在达到该限制时睡眠一小时。我不知道他们的API是否会限制它可以走多远。如果您可以在截止日期的开头找到推文的ID并从那里开始播放此过程,则可以保存API调用。

答案 1 :(得分:1)

您唯一的选择是支付Gnip等服务费用。 Gnip提供了一个API,可让您搜索超过一周的推文。