Hatena::Grouprubyist

yuisekiのいまさらruby厨日記

 | 

2009-01-23

はてブをActiveRecordとFeedNormalizerでDBに入れる

23:12 | はてなブックマーク - はてブをActiveRecordとFeedNormalizerでDBに入れる - yuisekiのいまさらruby厨日記

なんかはてブの検索が微妙に使いにくくなった気がしていたのでDBにぶち込んで好き勝手することにした

適当なコード、テーブル名とか何も考えていない…


いちどURLのリストができたらあとはアイデア次第


ActiveRecordとFeedNormalizerでもっと汎用的にぶっこぬき出来る気がしてくる


#!/usr/bin/ruby -Ku
require 'rubygems'
require 'feed-normalizer'
require 'open-uri'
require 'active_record'

#データベース接続
ActiveRecord::Base.establish_connection(:adapter=>"mysql", :host=>"localhost", :user=>"dankogai", :password=>"kogaidan", :database=>"hatebu")
class Yuiseki < ActiveRecord::Base
  set_table_name :yuiseki
end

0.upto(30) do |i|
  offset = i*20
  uri = "http://b.hatena.ne.jp/yuiseki/atomfeed?of=#{offset}"
  puts uri
  feed = FeedNormalizer::FeedNormalizer.parse open(uri)
  bmarks = []
  feed.entries.each do |e|
    unless Yuiseki.find_by_url(e.urls.first)
      puts e.title
      puts e.urls.first
      bkm = { :url => e.urls.first, :title => e.title, }
      bmarks.push(bkm)
    else
      puts "登録済み"
    end
  end
  Yuiseki.create(bmarks)
  sleep 10
end
トラックバック - http://rubyist.g.hatena.ne.jp/yuiseki/20090123
 |