Rubygems - crown を長らく放置していたので少し整理しました.せっかくだったので,Web サービス毎に定義している各種メソッドで微妙にインターフェースが違っている部分を統一して,各種カウント値を一気に取得できるように調整しました.
Crown::CGM.proxy メソッドに以下のシンボルを指定すると,対応する CGM の API を操作するためのオブジェクトが返ってきます.現状では count メソッド(ツイート数,「いいね!」数,はてブ数など各種カウント情報を取得する)くらいしか実装されていませんが,またそのうち整備していこうと思います.
尚,RubyGems.org に gem を登録する - Life like a clown の記事を Rubygems - crown の簡易マニュアルとしていますので,詳細等はそちらを参照下さい.
サンプルプログラム
require 'rubygems' require 'crown' services = [ # :twitter_user, # Twitter (ユーザ名を指定) :twitter_uri, # Twitter :topsy, # Topsy :tweetmeme, # TweetMeme # :backtype, # BackTweets (要 API key) :facebook, # Facebook :hatena_bookmark, # はてなブックマーク :livedoor_clip, # Livedoor クリップ # :livedoor_reader, # Livedoor Reader (フィードの URL を指定) :delicious, # Delicious :buzzurl, # Buzzurl :yahoo_bookmark, # Yahoo! ブックマーク ] # --------------------------------------------------------------------------- # # # 指定された URL に関する各種 CGM のカウント情報を取得する. # # Parameters: # ARGV[0]: URL1 # ARGV[1]: URL2 # ... # # --------------------------------------------------------------------------- # ARGV.each { |uri| printf("%s\n", uri) services.each { |service| printf(" + %-20s : %6d\n", service, Crown::CGM.proxy(service).count(uri)) } }
例えば,上記のプログラムに http://www.google.co.jp/ と http://www.yahoo.co.jp/ を指定して実行すると,以下のような結果を取得できます.
$ ruby example/cgmcount.rb http://www.google.co.jp/ http://www.yahoo.co.jp/ http://www.google.co.jp/ + twitter_uri : 220462 + topsy : 97556 + tweetmeme : 74690 + facebook : 59974 + hatena_bookmark : 7109 + livedoor_clip : 749 + delicious : 617 + buzzurl : 320 + yahoo_bookmark : 76421 http://www.yahoo.co.jp/ + twitter_uri : 53136 + topsy : 21377 + tweetmeme : 26266 + facebook : 11861 + hatena_bookmark : 11419 + livedoor_clip : 1381 + delicious : 1214 + buzzurl : 878 + yahoo_bookmark : 140489