#!/usr/bin/env ruby require 'open-uri' require 'xmlrpc/client' print %Q(Content-Type: text/html hatena bookmark counter ) if ENV['QUERY_STRING'] =~ /q=([^&]+)/ user = $1 urls = OpenURI.open_uri("http://d.hatena.ne.jp/#{user}/archive") do |i| i.read.scan(/[^<]+<\/a><\/li>/).flatten end serv = XMLRPC::Client.new('b.hatena.ne.jp', '/xmlrpc') res = serv.call('bookmark.getCount', *urls[0...50]) sum = res.values.inject(0) {|s,i| s += i} print "

#{sum} Point.


" end print %Q(

please enter your hatena account.

)