【Ruby】RSSを解析して表示 + ページごとのはてブ登録数を取得

概要

ファイルからurlリストを読み込んで、rssを解析し表示します。
ついでに、ページごとのはてブ登録数も取得します。

使用するライブラリ

下記ライブラリを使用します。

rss
open-uri

実際のプログラム

https://github.com/uniboh/parse_rss

#!/usr/local/bin/ruby
# coding: utf-8

require 'open-uri'
require 'rss'

# open url list
fh = open("./url.list")

# parse rss
fh.each do |url|
    puts "URL: " + url
    begin
        rss = open(url){|file| RSS::Parser.parse(file.read)}
    rescue => ex
        puts ex.message
        next
    end
    puts "Site: " + rss.channel.title

    rss.items.each do |item|
        puts "Title: " + item.title
        # get hatebu count
        begin
            count = open("http://api.b.st-hatena.com/entry.count?url=" + item.link).read
        rescue => ex
            puts ex.message
            next
        end
        puts "Hatebu Count: " + count
    end
end

fh.close
RSSの解析は下記で行っています
rss = open(url){|file| RSS::Parser.parse(file.read)}

データへのアクセスは rss.要素名 で可能です。

はてブ登録数の取得は下記で行っています
open("http://api.b.st-hatena.com/entry.count?url=" + item.link).read

item.linkの部分に取得したいurlを指定します。*APIのたたき過ぎには注意しましょう。