Twitterのクローラ

buzztterやふぁぼったーやつぶやいったーの人たちはどうやってTwitterのクローラを開発したんだろう?
Stream AIPは最近追加されたものだから使ってないだろうし、かといってgetPublicTimeLine()じゃ漏れがあるだろうし、すぐにAPI制限にかかっちゃいそう。

そもそもAPI使わずに取得してるのかな
どうやるんだろう?


API使わずに直接HTMLを解析するみたい
それでも結局はPublicTimeLineを参照するんだろうから取りこぼしそうだよなー
API制限にはかからないけど
よく考えたら作ろうとしているサービスは多少取りこぼしがあっても何の問題もなかった。Streaming API使わせて貰えそうにないから、自分で作るかな
TwitterXMLRSSJSONなど応答形式を選べるみたい
どれが良いのか、それぞれのデメリットがわからないや
Twitter4jがJSONみたいなので倣ってJSON

解析するのはわかったけど、リクエストの発行する間隔はどうやってるんだろう?
取得したメッセージが流れたらって判断してるのか、それとも適当に1分間隔とか?それじゃ取りこぼしありそうだし、10秒とかだと規制されそう
getpublicTimelineにもsinceIDがあればいいのになー



メモ:

JSON難しいからRSSでやったらできた

public class RSSTest {
	public static void main(String[] args) throws Exception {
		FeedFetcher fetcher = new HttpURLFeedFetcher();
		String url = "http://pcod.no-ip.org/yats/public_timeline?rss";
		SyndFeed feed = fetcher.retrieveFeed(new URL(url));
		for (SyndEntry entry : (List<SyndEntry>) feed.getEntries()) {
			System.out.print(entry.getUpdatedDate()+"\t\t");
			System.out.print(entry.getAuthor()+"\t\t");
			System.out.println(entry.getDescription().getValue());
		}
	}
}