Twitter ruby gem .search запросить несколько ответов
В следующем коде я указываю, что я хочу сделать 1 запрос к API Twitter, но когда я puts
вывод на терминал я продолжаю получать много ответов, пока не убью программу. Как я могу ограничить его только указанным количеством запросов? Я новичок в ruby, так что я могу что-то упустить здесь
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
1 ответ
Решение
Как утверждают документы,
: count (Integer) - количество твитов, возвращаемых на страницу, не более 100.
Итак, это своего рода обратное тому, чего вы пытаетесь достичь: чем больше count
меньше HTTP-запросов (поскольку каждый из них будет содержать больше твитов). Обратите внимание, что вы не можете установить count
на сумму более 100, поэтому единственный способ ограничить количество запросов в случае огромного количества твитов будет
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