2008/08/14
XML-RPCを使ってみたくなり、任意のWebページのソーシャルブックマークの被ブックマーク数をXML-RPCで取り出すプログラムを書いてみました。
言語はRubyです。
ここでは「はてなブックマーク」と「livedoorクリップ」からブックマークされている数を取り出していますが、手続きが共通化されているので他のサービスでも簡単に同様の処理ができそうです。
はてなブックマーク件数取得API
livedoorクリップ件数取得API
尚、以下は考慮していません。
- エラー処理
- Proxyサーバ経由の接続
require 'xmlrpc/client'
services = {
'hatena_bookmark' => 'http://b.hatena.ne.jp/xmlrpc',
'livedoor_clip' => 'http://rpc.clip.livedoor.com/count',
}
methods = {
'hatena_bookmark' => 'bookmark.getCount',
'livedoor_clip' => 'clip.getCount',
}
targets = [
'http://www.apple.com/jp/',
'http://www.google.co.jp/',
'http://b.hatena.ne.jp/',
]
services.each {|serv, uri| # ブックマークサービス毎処理
client = XMLRPC::Client.new2(uri)
method = methods["#{serv}"]
puts "<#{serv}>"
targets.each {|target| # 被ブックマーク調査ページ毎処理
result = client.call(method, target)
num = result["#{target}"]
puts "#{target} => " + num.to_s
}
puts
}
(実行結果)
<hatena_bookmark> http://www.apple.com/jp/ => 694 http://www.google.co.jp/ => 1982 http://b.hatena.ne.jp/ => 1721 <livedoor_clip> http://www.apple.com/jp/ => 71 http://www.google.co.jp/ => 260 http://b.hatena.ne.jp/ => 152
関連情報(Google検索)
