03 2月, 2010
Twitterのデータを取得するプログラムを作ってみる
Posted by: Hideya Kato In: Google| Java| クラウドサービス| ツール| テクノロジ| プログラミング
2010/02/09 段組をキレイにしました!詰まった状態で読んでいただいた方、本当にすみませんでした、、、。
smashmediaの河野さんが自身とブックオフオンラインのアカウントでtwitterにおけるフォロワーのデータをまとめられてたので、それならプログラムを書けば僕も一覧でもっと取得できたり、それをデータベースにためてみて統計を出したり、そのデータで色々議論が生まれればいいなぁなんて思ったりしてプログラムを書き始めてみました。(ちょうどTwitterAPIの勉強もしようかなと思っていたところでしたし。)
Twitterフォロアー実態調査/smashmedia
結論から言うとまだうまく取得できてません。正確にいうと取得できてるんですけどTwitterのAPI制限にひっかかって150件/1hしかとれないのでちょっと工夫が必要な感じ。
とりあえず生のJavaをちろっと書いただけなのでどこまで結局できるか(やるか)わからないんですがここまでの分をとりあえず整理します。
1.アカウントを指定するとフォロワーの統計情報を取得
今回取得してみようとしたデータは以下の項目
・ID
・スクリーンネーム
・名前
・twitterを始めた日付
・最後につぶやいた日付
・つぶやきの数
・フォローしてる数
・フォローされてる数
・URL
上記はアカウントごとにすぐに取得できるので、調べたいアカウントを指定するとまずはフォロワーのID一覧を取得し、そのひとつひとつに対して上記の情報を持ってこれれば一覧で生データリストが作成できます。
つぶやきの一日平均や最後につぶやいてからの時間、フォロー/フォロワーの差などなど色々な切り口であとは見てみるだけですね。
あとは投稿をすべてもってきたりしたら出せるもの
・URLがついているかどうか
・RTかどうか
・@返信かどうか
・特定のワードが入っているかどうか
2.企業アカウントの定点調査
実はコチラのほうが数が少ない分現実的に簡単にできる気がします。
基本的には1番のアプリとデータ内容は変わらないんですが、cronで1日一回定点的にデータを取得して、データベースに保存。
あとから推移を表示したり企業ごとに比較してみたりできれば面白いかと。
日本の企業アカウントに関しては
http://twitter.com/jp_company
で結構まとまっていたりするのでそこを起点にすれば新しいアカウントなども取得していけますね。
個人的には海外のアカウントの情報とも比較してみたいです。絶対数が増えると何が違うのかとか、気になります。
—
技術面でいうと僕の個人的な勉強だったりするのでいろいろと組み合わせて試してみてます。
・開発言語:Java
・開発環境:Eclipse + Google SDK
・実行環境:GoogleAppEngine(クラウド!)
・APIラッパークラス:twitter4J
・DB:BigTable
・フレームワーク:Slim3
・グラフモジュール:amCharts
・proxy:birdnest
[追記]
こういったもので出したデータってもっと公開されてみんなが各々の見解を出せるようにするべきですよね。
[追記2]
まだ全然データ取得とかできてないので「いつか何かで」の話になりますが、twitterに限らず日本市場でのレポートが作れたらぜひ英訳して海外の人にも意見がききたい。日本のデータは結構ニーズありますよ。日本のモバイルのデータとか英訳したら海外で欲しい人たくさんいるとおもうんだけどな。


