bit.lyで短縮されたURLのクリック数をRuby(Nokogiri)でスクレイピングする

f:id:hideack:20120504212312p:image


bit.lyで短縮されたURLのクリック状況は短縮されたURLの末尾に'+'をつけると知ることができるので、そこからクリック数をスクレイピングしてみようという話。*1

# bitlycun.rb
require 'nokogiri'
require 'open-uri'

url = "https://bit.ly/#{ARGV[0]}+"

page = open(url)
html = Nokogiri::HTML(page.read, nil, 'UTF-8')
html_a = html.search('//span[@class="count"]')

tmp = html_a[0].children.text

clickcun = tmp.gsub(/(\r\n|\r|\n)/, "")

puts "http://bit.ly/#{ARGV[0]} : click count = #{clickcun}"


スクリプトを実行する際、引数にbit.lyで短縮した際の可変部分(http://bit.ly/***** の ***** ) を第一引数に渡せば現在までのクリック数を取得することができる。

% ruby bitlycun.rb IxW4jJ
http://bit.ly/IxW4jJ : click count = 3

*1:ネタとして探したらあちこちにありそうだったけど…(略