twitter_streaming

twitter streaming apiというのをご存知ですか? twitterをリアルタイムに見るためのAPIです。
このAPIにはキーワードを使って、自分の好きな情報だけをリアルタイムに取得するためのfilterという機能があります。
これを使ってコードを出力し、表示したのが上の画像です。
「ruby」「pixiv」「pixpedia」「hrjn」「harajune」というキーワードでtwitterをリアルタイムに監視しています。

色々試したのですが、どうも日本語はうまくtokenizeできていないらしくうまく表示できません。
ただ、アルファベットの単語はうまくいくようで、ほぼ100%見つけ出すことができます。

この仕組のいいところはいくつかあります。

  • 本当に最先端の情報を得ることができる
  • followしてない人の発言でも見ることができる

「リアルタイム性」が協調されるtwitterですが、所詮自分がfollowしている範囲を監視していたところで、最新の結果なんか得られません。
本当に最新の情報を得たいと思うなら、twitter全体を監視すればいい!
簡単ですね(ぉ
なのでやってみました(ぉぉぉ

twitterは人物ベースの情報共有を行うものですが、このtwitter streaming apiを使えば話題ベースで情報を得ることができます。
どんな小さな、どこの誰が言ったものであろうと、twitter上で発言さえされていればそれを取得することができます。

もちろん欠点もあります。例えば「iPhone」で探すと情報が大量すぎてものすごいスピードで流れて行ってしまいます。
さすがにこれを人力で監視するのは無理なので、何らかの方法で話題を分類する必要があるでしょう。

仕組み

あまり詳細には書きませんが。

情報収集には、このブログのスクリプトをほぼそのまま流用させてもらいました。
これを、ターミナルで起動します。例えばこんな感じ。

ruby twitter_stream.rb >> twitter_stream.log

こうしてtwitterから特定のキーワードだけをリアルタイムに取得します。
そして表示部分はgeektoolを使います。
geektoolはコマンドの実行結果をデスクトップに表示するためのツールです。
geektoolをつかいこの検索結果をデスクトップに表示します。
例えばこんな感じ。

tail -n 5 twitter_stream.log

すると、この記事の冒頭のような感じになります。

簡単ですね。

geektoolの使い方等を覚えたりしたので多少時間がかかりましたが、全体で一時間少々でこれを作れました。
本当に簡単ですね!!素晴らしい時代だ。

では、みなさん。楽しいtwitterライフを!