bit.lyで短縮されたURLのクリック数をRuby(Nokogiri)でスクレイピングする
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:ネタとして探したらあちこちにありそうだったけど…(略