2015-12-02 32 views
0

根據標題,如果Twitter有自己的限制,我怎麼能夠獲得至少10,000條推文呢?如何在Twitter API Rate Lmit中獲取至少10,000條推文?

Twitter允許每15分鐘進行180次查詢。所以我打算使用TimerTimerTask設定的時間間隔,並保持運行代碼,直到我得到萬個鳴叫是這樣的:

timer.schedule((TimerTask) getTweets("$FB up"),0,900000); 

的問題是,每15分鐘就會得到相同的數據作爲第15分鐘。我如何使它在之前的15分鐘內停止?

下面是對 getTweets功能(字符串項)

int wantedTweets = 10000; 
     long lastSearchID = Long.MAX_VALUE; 
     int remainingTweets = wantedTweets; 
     Query query = new Query(term); 
     try{ 

      while(remainingTweets > 0) 
      { 
      remainingTweets = wantedTweets - tweets.size(); 
      if(remainingTweets > 100) 
      { 
       query.count(100); 
      } 
      else 
      { 
      query.count(remainingTweets); 
      } 
      QueryResult result = twitter.search(query); 
      tweets.addAll(result.getTweets()); 
      Status s = tweets.get(tweets.size()-1); 
      long firstQueryID = s.getId(); 
      query.setMaxId(firstQueryID); 
      remainingTweets = wantedTweets - tweets.size(); 
      } 

      for (int i=0 ; i < tweets.size() ; i++) { 
       b = tweets.get(i); 
       //System.out.println(s); 
       //System.out.println("@" + b.getUser().getScreenName() + " - " + b.getText()); 
      } 
     } 
     catch(TwitterException te) 
     { 
      System.out.println("Failed to search tweets: " + te.getMessage()); 
     } 
     return b; 

回答

1

使用twitter streaming API代替

+0

我忽略這一點。感謝您的建議。我如何設定限制?它看起來像它的實時。 – kylas

+0

除了流是採樣數據外,沒有其他限制。你可以永遠保持聯繫(在理論上)。 –

+0

我認爲它正是OP所要求的。遵循你所說的是如此狹隘以至於無用。 –

相關問題