Web API関連(はてブ・はて☆スタ・livedoor reader)

Web APIRubyで参照する時のメモ。はてなブックマークはてなスターlivedoor readerが対象。

#!/usr/bin/ruby

require 'xmlrpc/client'
require 'net/http'
Net::HTTP.version_1_2
#require 'open-uri'

username = "geiinbashoku2"

# はてなブックマーク件数
srv = XMLRPC::Client.new2('http://b.hatena.ne.jp/xmlrpc')
p srv.call('bookmark.getTotalCount', "http://d.hatena.ne.jp/#{username}/")

# はてなスター数
Net::HTTP.start('s.hatena.ne.jp') {|http|
  response = http.get("//blog.json/http://d.hatena.ne.jp/#{username}/")
  p response.body.scan(/\"(star_count)\":(\d+?)/).assoc('star_count')[1].to_i
}

## はてなスター数(open-uri版)
#open("http://s.hatena.ne.jp/blog.json/http://d.hatena.ne.jp/#{username}/"){|body|
#  p body.read.scan(/\"(star_count)\":(\d+?)/).assoc('star_count')[1].to_i
#}

# livedoor reader 購読者数
Net::HTTP.start('rpc.reader.livedoor.com') {|http|
  response = http.get("/count?feedlink=http://d.hatena.ne.jp/#{username}/rss")
  p response.body.to_i
}

参照