Twitterの #自分の人生に影響を与えたゲーム3本 を集計してみた
昨日の夕方ぐらいから #自分の人生に影響を与えたゲーム3本 ってタグが流れてて、面白そうだったのでクロールして集計してみました。手持ちのレコードは2567件。
集計した、とは言っても、表記揺れが激しいので完全にカウントできたわけじゃないですが、
2500件あればある程度省かれることを考慮してもそこそこ妥当なデータだと思うので、もういいや(考えることをやめた)。
10票以上のもの
タイトル | 票数 |
---|---|
ポケモン | 134 |
クロノトリガー | 38 |
ゼルダの伝説 | 38 |
FF6 | 33 |
ぷよぷよ | 33 |
FF7 | 31 |
FF9 | 31 |
MOTHER2 | 30 |
MOTHER | 29 |
FF5 | 28 |
大神 | 27 |
ゼノギアス | 25 |
ドラクエ | 25 |
Fate | 24 |
スマブラ | 24 |
東方 | 24 |
ポップン | 24 |
サクラ大戦 | 24 |
FF4 | 23 |
PSO | 23 |
逆転裁判 | 22 |
テイルズオブファンタジア | 22 |
RO | 22 |
幻想水滸伝 | 21 |
ハイドライド | 21 |
FF11 | 21 |
モンスターハンター | 20 |
FF | 20 |
モンハン | 20 |
月姫 | 20 |
女神転生 | 20 |
タクティクスオウガ | 19 |
テイルズ | 18 |
戦国BASARA | 18 |
テイルズオブシンフォニア | 18 |
DQ3 | 18 |
ドラクエ3 | 18 |
サモンナイト | 17 |
ウィザードリィ | 17 |
スーパーマリオブラザーズ | 16 |
FF3 | 15 |
イース | 15 |
ToHeart | 15 |
キングダムハーツ | 15 |
バイオハザード | 15 |
メタルギアソリッド | 14 |
MOTHER3 | 14 |
Kanon | 14 |
FFT | 14 |
ポップンミュージック | 14 |
DQ5 | 14 |
スパロボ | 13 |
ドラゴンクエスト | 13 |
ソーサリアン | 13 |
ラグナロクオンライン | 13 |
マリオ | 13 |
女神異聞録ペルソナ | 13 |
.hack | 13 |
牧場物語 | 13 |
ドラクエ5 | 13 |
スペースハリアー | 12 |
ドルアーガの塔 | 12 |
テトリス | 12 |
ときめきメモリアル | 12 |
アイドルマスター | 12 |
Wizardry | 12 |
ポケットモンスター | 12 |
ポケモン赤 | 11 |
アイマス | 11 |
グラディウス | 11 |
ファンタシースターオンライン | 11 |
マザー2 | 11 |
MGS | 11 |
ICO | 11 |
ロックマン | 11 |
beatmania | 11 |
クロノクロス | 11 |
風来のシレン | 11 |
FF10 | 11 |
マリオブラザーズ | 11 |
やっぱ90年代の後期のJRPG強いですね
以下、今回使用したスクリプト
集計 Python
#!/usr/bin/env python # encoding:utf8 import pymongo import re db = pymongo.Connection()['twitter']['most_shocked_games'] print "count ",db.count() res = {} def push(item): if item in res : res[item] += 1 else : res[item] = 1 for i in db.find(): text = i["text"].replace(u"#自分の人生に影響を与えたゲーム3本","") text = re.sub( u'(\(|().*?(\)|)) ',u'',text ) d = re.findall(u"(「|『).*?(」|』)",text) if len(d) >= 2: for t in d: push( t ) else: for t in re.split( u'・| |,|、| |/|/',text): push( t ) res = sorted(res.items(), key = lambda x:x[1] ) for k,v in res[::-1]: if v > 10: print k,v
クローラ nodejs
var TwitterNode = require('twitter-node').TwitterNode , sys = require('sys'); var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/twitter'); //コレクションのスキーマ user_scheme = { name : String, text : String }; User = mongoose.model('most_shocked_games', new mongoose.Schema(user_scheme) ); var twit = new TwitterNode({ user: '"<username>', password: '<password>', track: ['#自分の人生に影響を与えたゲーム3本'] }); twit.addListener('error', function(error) { console.log(error.message); }); twit .addListener('tweet', function(tweet) { sys.puts("@" + tweet.user.screen_name + ": " + tweet.text); item = new User(); item.name = tweet.user.screen_name; item.text = tweet.text; item.save(function(e){ console.log('add new item:'+JSON.stringify(item)); }); }) .stream(); //要素の追加
それぞれのコード、書くのに15分もかかってないし、この記事書くのにそれと同じぐらいの時間使ってるので、コーディング速度上がってきた気がする。