如何使用ruby twitter gem获取大量推文

时间:2011-03-09 18:36:33

标签: ruby twitter

我写了一些ruby来返回包含时间范围内短语的所有推文。但是,此代码最多可返回1,500条推文。如何获得超过1,500条推文? (我希望得到成千上万的推文)

require "rubygems"
require "twitter"

    # returns a list of tweets containing the phrase within the dates specified
    # returns either @max_tweets tweets or all tweets found
    # @param phrase - a phrase to search for
    # @param from_date - begining date of the search ex."2011-02-28"
    # @param until_date - ending date of the search ex. "2011-03-01"
    def get_tweets(phrase, from_date, until_date)

      search = Twitter::Search.new.containing(phrase).since_date(from_date).until_date(until_date)

      #get all the tweets
      tweets = search.fetch
      next_tweets = search.fetch_next_page
      while(tweets.size < @max_tweets && next_tweets != nil) 
        tweets = tweets + next_tweets
        next_tweets = search.fetch_next_page
      end

      return tweets.first(@max_tweets)
    end

1 个答案:

答案 0 :(得分:4)

Twitter API docs

rpp
The number of tweets to return per page, up to a max of 100.
http://search.twitter.com/search.json?rpp=100

page
The page number (starting at 1) to return, up to a max of roughly 1500 results (based on rpp * page).
http://search.twitter.com/search.json?page=10

所以看来1500是内置限制。