Twitterのフォロワーの活性をコンソールにグラフ化する
スポンサードリンク
Twitterの特定のアカウントのフォロワー達の最終書き込み日をグラフにして表示すればなんか見えてくるかなーて思って作ってみたが大して面白くなかった。
Filename: followers_activities.pl
#!/usr/bin/perl
use strict;
use warnings;
use YAML::XS;
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 $now = DateTime->now( time_zone => 'Asia/Tokyo');
my $c = [
{ count => 0, name => '1day', range => $now->clone->add( days => -1 ), },
{ count => 0, name => '1week', range => $now->clone->add( weeks => -1 ), },
{ count => 0, name => '1month',range => $now->clone->add( months => -1 ), },
{ count => 0, name => '1year', range => $now->clone->add( years => -1 ), },
{ count => 0, name => 'other', range => DateTime->from_epoch( epoch=> 0), },
];
# TwitterからFollowersの情報を取得して最終発言日を集計
my @list = _get_twitter_value( $screen_name );
foreach my $item ( @list ) {
my $epoch = str2time( $item->{status}->{created_at} ) || 1;
my $create_at = DateTime->from_epoch(
epoch => $epoch,
time_zone => 'Asia/Tokyo',
);
#print "$create_at\n";
for ( my $i = 0; $i < $#$c + 1; $i++ ) {
if ( $c->[$i]->{range} < $create_at) {
$c->[$i]->{count}++; last;
}
}
}
# グラフ表示
my @counts = map { $_->{count} } @$c;
my @labels = map { $_->{name} } @$c;
my $graph = Text::Graph->new( 'Bar', showval => 1, maxlen => 60,);
print $graph->to_string( \@counts, labels =>\@labels,);
exit;
sub _get_twitter_value {
my $screen_name = shift;
my $cursor = -1;
my @list;
while ( $cursor != 0 ) {
my $res = $nt->friends({
screen_name => $screen_name,
cursor => $cursor,
});
$cursor = $res->{next_cursor};
push @list, @{ $res->{users} };
}
return @list;
}
__END__
実行例。CLCLCLというのは、わっとこのTwitter Usernameです。
$ ./followers_activities.pl CLCLCL 1day :************************************************** (126) 1week :******** (23) 1month : (7) 1year :** (11) other :* (8) $
Perl 5.12だと$#が使えなくなるとかどうとか聞いたけどどうするんだろ。確認してないけど。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3208





![: 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)


コメントする