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





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする