我試圖在24小時內檢索某個關鍵字的推文數量的單個整數。 所以說關鍵字是「流量」我想在過去的24日內用「流量」這個詞來計算推文的數量,並將其存儲爲一個數字,用於生成其他內容。twitter4j - 計算24小時內的推文數量,返回一個整數
現在我可以使用query.setCount提供一個特定的數字,並在過去的24小時內檢索任意數量(1024)的推文,但我無法判斷這是否是24小時內的所有推文,所有我真正想要的是一個數字,我不需要推文的實際文字或其他信息。此外,隨着新的推文進來,有數字更新。
我該怎麼去做這件事?
這裏是我的getNewTweets方法至今:
void getNewTweets(){
SimpleDateFormat sdf = new SimpleDateFormat("y-M-d");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR_OF_DAY, -24);
String yesterday = sdf.format(calendar.getTime());
Query query = new Query("traffic");
query.setSince(yesterday);
int numberOfTweets = 1024;
long lastID = Long.MAX_VALUE;
while (tweets.size() < numberOfTweets) {
if (numberOfTweets - tweets.size() > 100)
query.setCount(100);
else
query.setCount(numberOfTweets - tweets.size());
try {
QueryResult result = twitter.search(query);
tweets.addAll(result.getTweets());
println("Gathered " + tweets.size() + " tweets");
for (Status t: tweets)
if(t.getId() < lastID) lastID = t.getId();
}
catch (TwitterException te) {
println("Couldn't connect: " + te);
};
query.setMaxId(lastID-1);
}
}