Twitter4Jで1週間前までの任意の語句を検索する
twitter4jのバージョン
- 2.1.9-SNAPSHOT
package hoge; import java.util.Calendar; import twitter4j.Query; import twitter4j.QueryResult; import twitter4j.Tweet; import twitter4j.Twitter; import twitter4j.TwitterFactory; import twitter4j.http.AccessToken; public class T4jSearch { /** * 任意の語句の1週間前までのツイートを検索する * * @param args */ public static void main(String[] args) { String consumerKey = "your consumerKey"; String consumerSecret = "your consumerSecret"; // TwitterOAuthAccessTokenGetter で取得した Token と TokenSecret を使用 String token = "your token"; String tokenSecret = "your tokenSecret"; try { TwitterFactory factory = new TwitterFactory(); AccessToken accessToken = new AccessToken(token, tokenSecret); Twitter twitter = factory.getOAuthAuthorizedInstance(consumerKey, consumerSecret, accessToken); // 1週間前の日付を作成 Calendar now = Calendar.getInstance(); now.add(Calendar.DATE, -7); PAGING: for (int pageCount = 1;; pageCount++) { // 検索したい語句 Query query = new Query("海老蔵"); query.setPage(pageCount); QueryResult result = twitter.search(query); for (Tweet eachTweet : result.getTweets()) { // 1週間より前のツイートになったら取得するのをやめる if (now.getTime().compareTo(eachTweet.getCreatedAt()) > 0) { break PAGING; } // 発言者のIDと内容を表示 System.out.println(twitter.showUser(eachTweet.getFromUser()).getId() + "\t" + eachTweet.getText()); } } } catch (Exception e) { e.printStackTrace(); } } }
(English)Search tweets in last one week.