M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2010年5月 3日 23:16

TwitterのAPIの消費され具合を表示するPerlスクリプト

このエントリーをはてなブックマークに追加 mixiチェック

今作っているのはTwitterの膨大な数のツイートを取得するやつなんですが、その過程で、Twitterに対し操作をするとカウントされて、一定数カウントされると操作ができなくなる仕組みを調査する必要があって作った。

下記のスクリプトは、パスワードを直に書くバージョン。

Filename: check_limit.pl

#!/usr/bin/perl
 
use strict;
use warnings;
use Net::Twitter;
use YAML;
 
print Dump rate_limit_status();
 
exit;
 
sub rate_limit_status {
  my $nt = Net::Twitter->new(
      traits => [qw/API::REST/],
      username => 'username',
      password => 'password',
  );
  my $res = $nt->rate_limit_status();
  #my $res = $nt->rate_limit_status({authenticate => 0});
  return $res;
}
 
__END__

実行例。

$ perl check_limit.pl
---
hourly_limit: 150
remaining_hits: 143
reset_time: Mon May 03 14:56:45 +0000 2010
reset_time_in_seconds: 1272898605
$

スクリプト内にパスワード入れたくない場合はConfig::Pitでも使い、

Filename: check_limit.pl

#!/usr/bin/perl
 
use strict;
use warnings;
use Net::Twitter;
use YAML;
use Config::Pit;
 
print Dump rate_limit_status('twitter.com@username');
 
exit;
 
sub rate_limit_status {
  my $account = shift;
  my $config = pit_get( $account );
  my $nt = Net::Twitter->new(
      traits => [qw/API::REST/],
      username => $config->{username},
      password => $config->{password},
  );
  my $res = $nt->rate_limit_status();
  #my $res = $nt->rate_limit_status({authenticate => 0});
  return $res;
}
 
__END__

Filename: ~/.pit/default.yaml

---
"twitter.com@username":
  "username": 'username'
  "password": 'password'

とするといいのかな。

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3210

コメントする