Twitterの発言時間を24時間で分類してコンソールにヒストグラム化する
スポンサードリンク
昨日は、Twitterの特定のユーザーのフォロワー達の最終書き込み日をグラフにして表示してみたけれども、今日は、Twitterの特定ユーザーの書き込みから、書き込んだ時間を取得してグラフにすればどうかなと思って作ってみた。
240発言を採取して、発言をヒストグラムにします。
Filename: activity.pl
#!/usr/bin/perl use strict; use warnings; use Net::Twitter; use Date::Parse; use DateTime; use Text::Graph; use Text::Graph::DataSet; my $screen_name = $ARGV[0] or die 'enter Twitter UserName.'; my $nt = Net::Twitter->new( traits => [qw/API::REST/],); my $c = {}; # TwitterからFollowersの情報を取得して最終発言日を集計 my @list = _get_twitter_value( $screen_name ); foreach my $item ( @list ) { my $epoch = str2time( $item->{created_at} ) || 1; my $create_at = DateTime->from_epoch( epoch => $epoch, time_zone => 'Asia/Tokyo', ); #print "$create_at\n"; $c->{ $create_at->strftime('%H') }++; } # グラフ表示 my $graph = Text::Graph->new( 'Bar', showval => 1, maxlen => 60,); print $graph->to_string( $c,); exit; sub _get_twitter_value { my $screen_name = shift; my @list; for ( my $i = 1; $i < 13; $i++ ) { my $res = $nt->user_timeline({ screen_name => $screen_name, page => $i, }); last unless @$res; @list = ( @list, @$res ); }; return @list; }
実行例。CLCLCLというのは、わっとこのTwitter Usernameです。
$ perl activity.pl CLCLCL 00 :**************************************** (18) 01 :** (2) 02 : (1) 03 : (1) 04 :********************* (10) 05 :** (2) 06 :***** (3) 07 :** (2) 08 :************** (7) 09 :************************** (12) 10 :**************************************** (18) 11 :************** (7) 12 :***************************** (13) 13 :********************* (10) 14 :***** (3) 15 :******************************* (14) 16 :******************************************* (19) 17 :********************************* (15) 18 :********************************* (15) 19 :********** (5) 20 :***************** (8) 21 :***************************** (13) 22 :********************* (10) 23 :************************************************ (21) $
夜型ですな。
時報botでやってみた。
$ perl activity.pl jihou 00 : (10) 01 : (10) 02 : (10) 03 : (10) 04 : (10) 05 : (10) 06 : (10) 07 : (10) 08 : (10) 09 : (10) 10 : (10) 11 : (10) 12 : (10) 13 : (10) 14 : (10) 15 : (10) 16 : (10) 17 : (10) 18 : (10) 19 : (10) 20 : (10) 21 : (10) 22 : (10) 23 : (10)
Text::Graphがセンシティブすぎる。数字からするとまあまあいいんだと思うんだけど。
こーいう統計を取って、Twitterの発言診断サービスとか作っているんだろうな。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3209
コメントする