Hatena::ブログ(Diary)

yk5656 diary

記事一覧: Linux | Ansible | Swift | Ruby | PHP | JavaScript | MySQL | Git | Vim

2014-08-20(水)

RubyでLike数/Tweet数/はてブ数を取得してみる

RubyでLike数/Tweet数/はてブ数を取得してみる。


API


Facebookのいいねの数

URL:

http://graph.facebook.com/?id=(URL)

例:
f:id:yk5656:20140824124628p:image:w560

Twitterのツイート数

URL:

http://urls.api.twitter.com/1/urls/count.json?url=(URL)

例:
f:id:yk5656:20140824124626p:image:w560

はてなブックマークのブックマーク数

URL:

http://api.b.st-hatena.com/entry.count?url=(URL)

例:
f:id:yk5656:20140824124625p:image:w560


プログラム作成

$ vi sample.rb
require "json"
require "open-uri"

# URL
if not ARGV[0]
  puts 'Please specify the URL.'
  exit
end
url = ARGV[0]

# Facebook
open('http://graph.facebook.com/?id=' + url) do |f|
  json = JSON.parse(f.read, {:symbolize_names => true})
  puts "Facebook=" + json[:shares].to_s
end

# Twitter
open('http://urls.api.twitter.com/1/urls/count.json?url=' + url) do |f|
  json = JSON.parse(f.read, {:symbolize_names => true})
  puts "Twitter=" + json[:count].to_s
end

# Hatena
open('http://api.b.st-hatena.com/entry.count?url=' + url) do |f|
  puts "Hatena=" + f.read
end

実行すると、下記のようにカウントが取得できる。

$ ruby sample.rb http://yahoo.co.jp
Facebook=154358
Twitter=277
Hatena=413