mixiアプリの会員数をグラフ化

Ruby

twitterでmixiアプリ(携帯)の「まちつく!」がハンパないぐらい会員数が伸びてるってことで、mixiから会員数を取得してくるスクリプトを書いてrrdでグラフ化してみた
mixi-app-graf
増加の角度が他のアプリに比べてスゴイ!
まず、設定ファイル。 mixiのメアドとパスワードと対象になるミクシィアプリのidを保存して下さい。

get_mixiapp_members.yaml
mixiusername: foobar@example.com
mixipassword: password
mixiapp_id: 9513

yamlフォーマットのファイルと同じ場所に下記を置いて実行。
get_mixiapp_members.rb

#!/usr/bin/ruby
# -*- coding: utf-8 -*-
require 'rubygems'
require 'mechanize'
require 'open-uri'
require 'kconv'
require 'yaml'
require 'csv'
# 設定情報読み込み
yaml_path = File.expand_path(File.dirname(__FILE__)) + '/get_mixiapp_members.yaml'
config = YAML.load_file(yaml_path)
# Mechanizeの初期化
agent = WWW::Mechanize.new
# login mixi sns
page = agent.get('http://mixi.jp/')
form = page.forms[0]
form.fields.find {|f| f.name == 'email'}.value = config['mixiusername']
form.fields.find {|f| f.name == 'password'}.value = config['mixipassword']
form.fields.find {|f| f.name == 'next_url'}.value = '/home.pl'
page = agent.submit(form, form.buttons.first)
# mixiapp page open uri
page = agent.get("http://mixi.jp/view_appli.pl?id=" + config['mixiapp_id'].to_s)
# mixapp member count
print page.search('dd.numMymixi')[0].inner_text.scan(/[0-9]+/)

会員数を取ってくるので、これをrrdとかcactiに設定すれば、会員数の推移をグラフ化できます。競合アプリの調査にでも使ってください。
ちなみに、さらにちょっと改造して、引数でidを指定するようにしてcactiにてグラフを生成してます。

タイトルとURLをコピーしました