tomyheroの日記 このページをアンテナに追加 RSSフィード

 | 

2007-11-08

[] Net::Twitter::FriendFinder-0.01_03 15:27  Net::Twitter::FriendFinder-0.01_03 - tomyheroの日記 を含むブックマーク はてなブックマーク -  Net::Twitter::FriendFinder-0.01_03 - tomyheroの日記  Net::Twitter::FriendFinder-0.01_03 - tomyheroの日記 のブックマークコメント

http://coderepos.org/share/browser/lang/perl/Net-Twitter-FriendFinder

 svn co http://svn.coderepos.org/share/lang/perl/Net-Twitter-FriendFinder/trunk/
  • 今まで、すでにfollowしていたユーザもfollow対象になっていたので、それを防ぐことをできるようにしました。
  • 上記の変更のため、username , password を設定する場所を変更しました。
  • follow()でたくさんのユーザを実行しようとした場合、恐らくTwitterのAPIリクエスト制限でこけてしまうので、sleepタイムを指定できるようにしました。

use Net::Twitter::FriendFinder;
 my $tf
    = Net::Twitter::FriendFinder->new({
        setting => {
            filter_already_followers => 1,
            username=> '*******',
            password=> '*******',
            on_echo => 1,
            sleep => 60,
        },
        from => {
            'Google' => { lang=>'ja'},
        }
      });

    $tf->search( 'えろ' );
    $tf->show();
    #$tf->follow();

世間では常識だと思いますが、私が初めて知ったこと

制限

Clients are allowed 70 requests per 60 sixty minute time period, starting from their first request. This is enough to make just over one request per minute, per hour, which should meet the needs of most applications. Rate limiting applies only to authenticated API requests; requests for the public timeline do not count. POST requests (ex: updating status, sending a direct message) also do not count against the rate limit.

APIの使用には(public timeline , update status, direct messeage以外)は、一時間中70回までしかリクエストできない。


この対応として、sleepを入れれるようにしたのと、無駄なリクエストを減らす為に既にfollowしている人は省けるようにしました。

friends APIは100件まで制限がある

friends

Returns up to 100 of the authenticating user's friends who have most recently updated, each with current status inline. It's also possible to request another user's recent friends list via the id parameter b

最近更新があった順番に100件のデータを返す。

これは、結構困ったのですが、page パラメータを指定すると次の100件がとれるようです。オフィシャルでは書かれていないです。これは、Net::Twitterでは対応できないので、無理矢理対応するようにしました。

また、このAPIで取得した情報はキャッシュからのようで、最近にfollowしたユーザが反映されるまでラグがあります。

 |