Twitter ruby gem .search请求多个响应



在下面的代码中,我指定我想要向twitter api发出1个请求,但是当我将输出puts到终端时,我继续收到许多响应,直到我终止程序。如何将其限制为仅指定的请求数量?我是ruby的新手,所以我可能在这里错过了一些明显的东西。

twitter gem api的文档

require 'twitter'
...
client = Twitter::REST::Client.new do |config|
  config.consumer_key        = credentials[:consumer_key]
  config.consumer_secret     = credentials[:consumer_secret]
  config.access_token        = credentials[:access_token]
  config.access_token_secret = credentials[:access_token_secret]
end
search_results = client.search "China", {:count => 1, :lang => 'en', :result_type => 'recent'}
search_results.each do |value|
    puts value.user.screen_name
end

正如文档所述,

:count (Integer) -每个页面返回的tweet数,最多a最多100个

所以,这与你想要达到的目标是相反的:count越多,你要做的http请求就越少(因为每个请求都包含更多的tweet)。请注意,您不能将count设置为超过100的数量,因此在有大量tweet的情况下限制请求数量的唯一方法是

search_results.take(requests_amount)
# => made requests_amount requests, returns requests_amount pages
# each of page should contain up to count tweets, with max of 100

最新更新