twitter4jを利用し、期間を区切って、つぶやきを取得したいです。
http://d.hatena.ne.jp/tetsuya_odaka/20130622/1371886944
このページを参考にし、プログラムを作成しました。
しかし、期間指定をするとつぶやきが取得できません。
コードにエラーは出ていません。
query.since(st);
query.until(ed);
の2行はコメントアウトすると取得できるので
設定等は間違っていないと思います。
どうすれば期間を指定して取得できるでしょうか?
lang
1 2import java.io.BufferedWriter; 3import java.io.File; 4import java.io.FileWriter; 5import java.io.IOException; 6import java.io.PrintWriter; 7import java.sql.Date; 8import java.util.StringTokenizer; 9 10import twitter4j.Query; 11import twitter4j.QueryResult; 12import twitter4j.Status; 13import twitter4j.Twitter; 14import twitter4j.TwitterException; 15import twitter4j.TwitterFactory; 16 17public class testtweet { 18 19 public static void main(String[] args) throws TwitterException { 20 21 // 初期化 22 Twitter twitter = new TwitterFactory().getInstance(); 23 Query query = new Query(); 24 try{ 25 String st="2014-10-11"; 26 String ed="2014-10-13"; 27 28 // 検索ワードをセット(試しにhttpを検索) 29 query.setQuery("アベノミクス"); 30 31 // 1度のリクエストで取得するTweetの数(100が最大) 32 query.setCount(100); 33 query.resultType(Query.RECENT); 34 query.since(st); 35 query.until(ed); 36 // 最大1500件(15ページ)なので15回ループ 37 for (int i = 1; i <= 15; i++) { 38 QueryResult result = twitter.search(query); 39 System.out.println("ヒット数 : " + result.getTweets().size()); 40 System.out.println("ページ数 : " + new Integer(i).toString()); 41 42 // 検索結果を見てみる 43 for (Status tweet : result.getTweets()) { 44 // 本文 45 String str = tweet.getText(); 46 java.util.Date hiduke= tweet.getCreatedAt(); 47 System.out.println(str); 48 49 50 51 } 52 if(result.hasNext()){ 53 query = result.nextQuery(); 54 }else{ 55 break; 56 } 57 } 58 }catch (TwitterException e) { 59 // TODO Auto-generated catch block 60 e.printStackTrace(); 61 } 62 } 63 } 64 65 66
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。