Twitterの検索APIでは、最大検索件数が1,500件と決められています。
検索の対象にすることができるのは過去7日間ですので、1週間以内に1,500件以上のつぶやきがあった事柄に関しては、途中までしか取れないというさみしい結果になってしまいます。
普天間なんかは1週間で余裕で1,500件を突破するので、期間的に検索可能でも検索できないつぶやきが出てきてしまうんですよね。。
その1,500件の壁を超えるには、検索オプションの
max_id=つぶやきのID
を使えばOKです。
max_idは指定したIDよりも小さいIDを対象としなさいということです。
検索APIでは日付の降順で検索結果が返ってきます。
また、つぶやきのIDは時系列で昇順に付番されているようです。
ということは・・・・・
検索結果の1,500件目のIDをmax_idに指定し、検索結果の一件目を無視すれば1,499の検索結果が取得できます。
それでも足りなければ、さらに・・
例
http://search.twitter.com/search.atom?q=jef&rpp=100&page=15
で取得できる最後のIDをmax_idに指定
http://search.twitter.com/search.atom?q=jef&rpp=100&page=1&max_id=xxxxxxxx
として、一件目は無視してあげればOKですよ。
これで1,500件の壁は超えられました。
次回は検索APIを色々試して「謎」だったことなど。。