04 3月, 2010
Posted by: Hideya Kato In: Webサービス
先月「Twitterのデータを取得するプログラムを作ってみる」というエントリーを書いたとおり、開発を進めてみているんですが、白状します、
「あんまり進んでません」
あんまり、というのはTwitterからフォロワーのデータを取ってくるとかは出来ていて、CSVなどもローカルですぐ出せるのですが、ちょっとGoogleAppEngineのDataStoreと接続時間につまづいていたのでいっそのこと、と思ってslim3のフレームワークに載せ替えることにしました。
そこまで行っていたのですがちょっと仕事がさらに忙しくなってなかなか時間が取れず、、、この有様。
とりあえず表示部分はおいておいて、データだけは取得し始めたいので、今月どこかで一気にやろうかな、、、。
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に限らず日本市場でのレポートが作れたらぜひ英訳して海外の人にも意見がききたい。日本のデータは結構ニーズありますよ。日本のモバイルのデータとか英訳したら海外で欲しい人たくさんいるとおもうんだけどな。
Follow me バッジをつけてみました。
よければフォローを。
↓ジェネレータはこちら
Twitter “Follow” Badge for your site/blog
最近更新できていないので軽めのエントリー。
勉強のつもりでプログラムの本を開いてウェブサービスなんかをポチポチつくっていると、完成するんだけどなんだか味気ないのっぺりとした画面になりがち。
せめてロゴだけでもテンションあげよう、という事で最近ハマっているのがtwitter風のロゴがつくれる「twitlogo」。
twitterと同じフォントでロゴをつくってくれます。かわいいので一気に雰囲気が変わります。
大きさや色をオプションで指定する事もでき、最後はpngでダウンロード。
いまいちシンプルな画面でしっくり来ない方は是非。
twitlogo
http://www.twitlogo.com/
ブックマークレットからTinyURL!すると自動的にtwitterからの流入ををGoogle Analyticsで計測されるようにしたいっていう話です。
Twitterに新着記事のお知らせから流入しているのかみてみたいところなんですが、現在使っているGoogle Analyticsで何も設定していないとリファラでしか特定できなくて、Firefoxのプラグインからとかいろいろ測定できないんですよね。
ちなみにGoogle Analyticsでするためには
?utm_source=twitter&utm_medium=twitter
をURLの後につけて流せばきちんと測定できます。
(こちらで作れます。)
ただ、毎回それをつけるのも面倒なので、毎回使うTinyURL!のブックマークレットを押したときに自動的にそのパラメータをつけてくれないか、ということでブックマークレットをいじってみます。
javascript:void(
location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href)
)
とりあえずTinyURL!ブックマークレットの中身。
javascript:void(
location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+'?utm_source=twitter&utm_medium=twitter')
)
単純にパラメータを追加
押してみる
おお!動きますね。
でもこれだとどんなURLにでもつけてしまうのでめんどくさい。
ということで、
javascript:(
function(){
lo=location.href;
if(lo.indexOf('lifexweb.com')>-1){
para='?utm_source=twitter&utm_medium=twitter';
}else{
para='';
}
void(location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+para));
}
)();
「lifexweb.com」というドメインの場合のみパラメータをつけるように改良。
これでほかのページではパラメータをつけずに変換可能。
あとは既にほかのパラメータがついているといけないので、
javascript:(
function(){
lo=location.href;
if(lo.indexOf('lifexweb.com')>-1){
if(lo.indexOf('?')>-1){
para='&utm_source=twitter&utm_medium=twitter';
}else{
para='?utm_source=twitter&utm_medium=twitter';
}
}else{
para='';
}
void(location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+para));
}
)();
とすると
既にパラメータがついていても大丈夫。
利用されたい方がいらっしゃればバグだらけかもしれないですがおいておきます。ドメインのところはそれぞれ修正をお願いします。
TinyURL!+GA