Twitterの公式APIを利用し、Perlから友達(friends)の情報を取得することが可能だ。Net::Twitterモジュールを使用すれば良い。
流れとしてはインスタンスを生成と同時にログインし、friendsメソッドを叩くだけと非常にシンプルだ。
サンプル
;# ;#Twitterの友達(friends)情報を取得する ;# #--------------------------------------# #モジュール #--------------------------------------# use strict; use Net::Twitter; #------------------------# # ログイン # #------------------------# my $twit = Net::Twitter->new( username => "katsube" #ユーザー名 , password => "hogehoge" #パスワード ); #------------------------# # 情報取得 # #------------------------# #-- Twitterサーバから取得 --# my $array_ref = $twit->friends(); #-- 取得した情報を表示する --# foreach my $hash_ref ( @$array_ref ){ #-- ステータス関連 --# print ' ID:', $hash_ref->{'status'}{'id'}, "\n"; print ' 文字列:', $hash_ref->{'status'}{'text'}, "\n"; print '生成時間:', $hash_ref->{'status'}{'created_at'}, "\n"; #-- プロフィール関連 --# print ' ID:', $hash_ref->{'id'}, "\n"; print '名前(FullName):', $hash_ref->{'name'}, "\n"; print '名前(Username):', $hash_ref->{'screen_name'}, "\n"; print ' 画像(URL):', $hash_ref->{'profile_image_url'}, "\n"; print ' URL:', $hash_ref->{'url'}, "\n"; print ' 説明文:', $hash_ref->{'description'}, "\n"; print ' 場所:', $hash_ref->{'location'}, "\n"; }
実行結果
ID:107280932 文字列:ねむいっす 生成時間:Sat Jun 16 14:56:13 +0000 2007 ID:6853682 名前(FullName):ねぼすけ 名前(Username):Nebosuke 画像(URL):http://assets2.twitter.com/system/user/profile_image/6853682/normal/4.jpg?1182005467 URL:http://www.ichikoro.com 説明文:I'm sleeping not beautiful. But I wait your kiss(w 場所:Tokyo
「Settings」で情報が設定されていない場合は、もちろん値を取得することは出来ない。APIとして公開されていないデータを取得することはこちらももちろんのこと出来ない。
注意点としては、データの変更を行った後すぐにはAPI上にその変化が現れない点だ。具体的にどの程度の期間かは分からないが、一定時間は古いデータが保持されるようだ。Twitterをブラウザで見たときと取得できる情報に差異がある場合は、API自体のキャッシュを疑ってみると良いかもしれない。
なお、返却されるデータの文字コードはUTF-8である。必要があればJcodeやEncodeなどで文字コードを変更してやれば良い。