【发布时间】:2014-12-13 07:53:49
【问题描述】:
我试图在 24 小时内检索某个关键字的推文数量的单个整数。 所以说关键字是“交通”我想统计过去 24 条中带有“交通”这个词的推文的数量,并将其存储为一个数字,用于生成其他内容。
现在我可以使用 query.setCount 提供一个特定数字并检索过去 24 小时内的任意数字(1024)条推文,但我无法判断这是否是 24 小时内的所有推文,我真的want 是一个数字,我不需要推文的实际文本或其他信息。此外,随着新推文的出现,请更新该数字。
我该怎么做呢?
到目前为止,这是我的 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);
}
}
【问题讨论】:
标签: java twitter processing twitter4j twitter-search