ハッシュタグなどから昔のツイートを検索しTogetterでまとめる

(これまでのあらすじ)ホビープログラマーの端くれ、rnatori。たまたまTLに流れてきたウキヨエを目にしたことにより、Twitterで翻訳版が連載中の「ニンジャスレイヤー」を読み始める。Togetterまとめを効率的に読むため専用iPhoneアプリまで作ったものの、Twitter連載という形が生む同時体験行為の重要性に気付き、ログが残っていない実況も読んでみたいと考えたのだった。

Topsyでツイートを検索する


http://topsy.com

Topsyという検索サイトでツイートの内容を検索することができます。TogetterやTwitterで普通に検索をかけても、古くて表示されないツイートなんかも普通に出てきます。期間を指定して検索することもできるので、ここでエピソードの放送中の時間と#njslyrを指定して検索すれば、当時の実況ツイートが出てくるというわけです。
とは言え、ここの期間指定画面はちょっと使いづらいので、直接URLで指定してしまった方が早いです。つまりはこのように。

http://topsy.com/s?q=%23njslyr%20-RT&sort=-date&mintime=1327323661&maxtime=1327342626

「#njslyr -RT」を検索していますが、このmintimeとmaxtimeはUNIX timeですので、例えば以下のようにします。

  • 本文のみのTogetterまとめやTwilogなどから、開始時刻と終了時刻をコピーしてくる(2012-01-14 16:26:19 とか)
  • UNIX timeへ簡単に変換してくれるサイトとかで変換する( http://konisimple.net/tool/unixtime/ とか)
  • maxtimeはちょっと増やす(感想タイム用)

ツイートのURLをリストアップする

で、こうして作ったURLで検索します。Togetterはこのページを直接読み込むことが出来ないので、表示された結果から個々のツイートへのリンクを全て抜き出します。さすがに何のツールもないと面倒なので、ブックマークレットを作ってみました*1

ListUpTweets
http://let.hatelabo.jp/RNatori/let/hLHVlOrnweA1

ブックマークレットをブラウザのブックマークバーなどに登録しておき、Topsyの検索結果画面でクリックすると、ツイートへのリンクを全て抜き出してテキストエリアに書き出し、選択します。ので、そのままコピーすればツイートのURLのリストが手に入ります。

Togetterに読み込ませる

Togetterの編集画面から、リストアップしたURLを読み込ませることができます。


ここでTwitterAPIのなんかの制限があるらしく、繰り返し繰り返し読み込ませているとしばらく出来なくなります。他のことでもして10分くらい放っておきます。

繰り返す

Topsyの検索結果表示は10件ごと10ページまでのようです。

これではとても足りないので、期間指定をやり直すか、もしくは10まで行った所でおもむろにアドレスバーを見ます。

http://topsy.com/s?q=%23njslyr%20-RT&sort=-date&offset=90&mintime=1327323661&maxtime=1327342626

このoffsetの部分ですね、10ずつ増やしていけば10ページ以降の結果も表示してくれるようなんです*2
こうしてTopsyとTogetterを往復し、時々APIの回復を待つ単純反復自動機械めいた作業をすることで、特定の期間の #njslyr タグを含むツイートをTogetterでまとめることができます。

Twitter.comからの期間指定検索

Twitterの検索からも次のように期間指定検索が出来ます。

#njslyr -RT since:2012-01-19 until:2012-01-20

しかしどうもTopsyに比べて引っ掛かるツイートが少なく、また時間までは指定できないらしいのでちょっとアレです。

*1:JavaScript正規表現はよく分かんないのでもっといいのがあるはずです

*2:せめてここも自動化すべきなのでは