【Twitter4J】検索してその結果を表示する方法
2012-05-02 (水) 23:51 Twitter4J
※注意(2013/04/24 追記)
このSearch APIはTwitter API 1.1では廃止されて使えなくなります。
今日はあいにくの雨でしたね。
明日から連休後半ですが2日間は雨のようで残念です。
さてツイッターを使った創作活動の下地になるTwitter4Jについて。
Twitter4Jの勉強はネットと以前購入したTwitter APIの開発用「Twitter API ポケットリファレンス」を使っています。
Twitter API ポケットリファレンス (POCKET REFERENCE)
(2011/07/15)
山本 裕介
商品詳細を見る
この「Twitter API ポケットリファレンス」はその名の通り辞書的なもので、開発を進めていく途中で分からないことがあれば調べるという感じの本です。
TwitterのAPIは各言語ごとにいろいろとありますが、この本ではTwitter4jについてはその使用例まで本書にコードを書いてあるのでとても便利です。
いずれ本書についてレビューを書くかもしれません。
では、今回は検索してその結果を表示するという内容です。
今回は基礎の基礎で全然凝ったプログラムじゃないですが^^
次のようにします。
(次のページを参考にさせていただきました。ありがとうございました。
→twitter4jからtwitterの検索APIを利用する - AjakuPanic のチラシの裏)
import java.util.List;
import twitter4j.*;
public class TwitterSearch {
public static void main(String[] args) {
try {
//自動的に認証してくれる
//(バージョン2.2.4以降はgetInstance()ではなくgetSingleton()を推奨)
new TwitterFactory();
Twitter twitter = TwitterFactory.getSingleton();
String strText;
//検索語を指定する(※ここでいろいろとオプションを設定できる)
Query query = new Query("東京");
//検索結果を取得
QueryResult result = twitter.search(query);
//検索結果のツイートを取得
List<Tweet> twiSearches = result.getTweets();
//ツイートの表示
for (Tweet tweet : twiSearches) {
//改行記号を除去(半角スペースに変換)
strText = tweet.getText().replaceAll("\r\n"," ");
strText = strText.replaceAll("\r"," ");
strText = strText.replaceAll("\n"," ");
//タブ記号を除去(半角スペースに変換)
strText = strText.replaceAll("\t"," ");
//コンソールに出力する(位置情報、日時、ユーザ名、ツイート)
System.out.println(tweet.getGeoLocation() + "\t" +tweet.getCreatedAt().toString() + "\t" + tweet.getFromUser() + "\t" + strText);
}
} catch(TwitterException te){
te.printStackTrace();
} catch(Exception e){
e.printStackTrace();
}
}
}
上の「検索語を指定する(※ここでいろいろとオプションを設定できる)」の箇所でオプションを設定できるので、より検索条件を絞ることができるようになります。
詳しくは参考にさせていただいたページやTwitter4jの解説ページを参考にしてください。
てぃーはプログラムの内容よりも結果を使った分析の方をメインにやってみたいと思っています。
上のコードにもあるように位置情報を取得してこれを使って何か分析をできたらと思っています。
しかし普通ツイートに位置情報を入れる人はいません(nullとなります)。。。
てぃー自身も入れていないので人のことを言えません。個人を特定される可能性が高いので当然ですね。
あることが起こったらそれに対するツイートがどんなふうに拡散されるか見てみたいのですが、別な方法で位置情報を知るにはどうすればいいのでしょう?!
ツイート本文の地理的用語から判断するしかないのでしょうか。
この辺りはもっと詳しく掘り進める必要がありますね。
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- ある地点の近傍のツイートの取得方法!setGeoCodeや計算による半径の指定とGeohash(ジオハッシュ)による矩形の指定 #Twitter4J (2012/12/02)
- 【Twitter4J】Twitterの全ユーザーの公開ツイート(日本のみ)を表示する方法(その2、Streaming APIのsample) (2012/05/04)
- 【Twitter4J】Twitterの全ユーザーの公開ツイート(日本のみ)を表示する方法(その1、PublicTimeline) (2012/05/04)
- 【Twitter4J】検索してその結果を表示する方法 (2012/05/02)
- 【Twitter4J】フォロー(フレンド)とフォロワーの片思い・片思われを抽出する方法 (2012/04/30)