我是新用户 twitter4j
。只是想知道如何从 Twitter 获取“一段时期的推文”。作为twitter4j
只能获得最低限度的推文。
假设,我想获取关键字“iphone5”的最近 2 周推文,如何使用 twitter4j
获取这些推文.
最佳答案
过去一小时内已有数千条“iphone5”推文。在达到限制之前,这已经超出了您允许通过搜索 API 批量获取的推文数量。获取过去两周内某个热门话题的所有推文是不可能的。您必须缩小搜索范围,这样就不必发出如此多的请求(通过查询一次只能获得 100 条推文)。
您可能会考虑的另一件事是每隔几分钟获取有关某个主题的 1000 条最新推文并将其存储在本地。这样,如果您需要历史数据,您可以返回到自己的缓存。
public static void main(String[] args) throws TwitterException {
Twitter twitter = new TwitterFactory().getInstance();
for (int page = 1; page <= 10; page++) {
System.out.println("\nPage: " + page);
Query query = new Query("#iPhone5");
query.setRpp(100); // set tweets per page to 100
query.setPage(page);
QueryResult qr = twitter.search(query);
List<Tweet> qrTweets = qr.getTweets();
// break out of the loop early if there are no more tweets
if(qrTweets.size() == 0) break;
for(Tweet t : qrTweets) {
System.out.println(t.getId() + " - " + t.getCreatedAt() + ": " + t.getText());
}
}
}
关于java - 在 twitter4j 中检索给定关键字的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12984617/