を作ってみたけど,「LIRSってどんなんだっけ?」ってとこから始めたからどうもよくわからない。
こんなんでいいのかな。
LIRS と RSS の対応は表のようにしてみたけど,どうか。
LIRS | RSS |
更新時刻 (Last-Modified GMT) | dc:date |
更新時刻を取得した時刻(GMT) | |
サイトのGMTとの時差(秒) | |
サイトのURL | link |
サイトの容量 | |
サイトのタイトル | title |
サイトの管理者 | |
情報取得元サイトのURL | |
独自情報 |
require 'open-uri' require 'rss/maker' require 'zlib' require 'kconv' $KCODE = 'utf8' def parse_lirs(record) fields = record.chomp.split(",") item = RSS::RDF::Item.new item.title = fields[6] # Title item.link = fields[5] # URL item.date = Time.at(fields[1].to_i + fields[3].to_i) # Last-Modified (local time) return item end def load_lirs(config, data) f = open(config["url"]) lirs = Zlib::GzipReader.wrap(f) {|gz| gz.read }.toutf8 items = lirs.map {|record| parse_lirs(record) } return items rescue puts "LoadError File = #{config["url"]}" return [] end