読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【プログラミング 122.5時間目】Twitter4jで現在のトレンドを取得してみる

<スポンサーリンク>

ちょっと苦労したけど、Twitter4jで現在のトレンドワードを引き出すことに成功した。
実行結果は長いので書かないけれど、いちおう動く。
でもトレンドで取れるワードって、「寒い」とか「nhk」とかなんかあんまり期待の話題ではなかったりする。
個人的には「隕石」とか出てきてほしかった。

package twitter;

import twitter4j.Location;
import twitter4j.ResponseList;
import twitter4j.Trend;
import twitter4j.Trends;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;

public class TrendSearch {
	public static void main(String[] args) {
		Twitter twitter = new TwitterFactory().getInstance();
		ResponseList<Trends> dailyTrends;
		Trends localTrends;
		ResponseList<Location> locations;
        try {
			dailyTrends = twitter.getDailyTrends();
			locations = twitter.getAvailableTrends();
			for(Location location : locations) {
				//System.out.println(location.getName() + "-WOEID" + location.getWoeid());
			}
			System.out.println("-----------------------------------------");
			//引数にしているのは東京のWOEID(http://woeid.rosselliot.co.nz/lookup/tokyo)
			localTrends = twitter.getLocationTrends(Integer.parseInt("1118370"));
			for(Trend trend : localTrends.getTrends()) {
				System.out.println("【東京】"+trend.getName() + "-" + trend.getUrl());
			}
	        // トレンドを出力する(世界版)
	        for (Trends trends : dailyTrends) {
	                    System.out.println("As of : " + trends.getAsOf());
	                    for (Trend trend : trends.getTrends()) {
	                    	//世界版トレンドを出力
	                    	System.out.println("【WORLD】 " + trend.getName());
	                    }
	        }
		} catch (TwitterException e) {
			// TODO 自動生成された catch ブロック
			e.printStackTrace();
		}

        System.out.println();


	}
}

Trendを取得する際に場所を指定するWOEIDは以下で検索可能。
http://woeid.rosselliot.co.nz/lookup/japan