Hatena::Grouprubyist

たばさの RSSフィード

12/15(火) 2009

hatena RSS

| hatena RSS - たばさの を含むブックマーク はてなブックマーク - hatena RSS - たばさの

keyword関係が更新止まってるようなので

(keywordリストからはてぶ新着データを取得。)

require 'open-uri'
require 'cgi'
require 'mechanize'
require 'optparse'
require 'kconv'

$file="HatenaRSSmyKeyword.txt"
opt = OptionParser.new
opt.on('-t val',"sleep time") {|v| $timer=v.to_i }
opt.on('-k val',"key file") {|v| $file=v }
opt.parse!(ARGV)

$interval=2
$interval=$timer if $timer

li=File.read($file).split
$base=[
  ["http://b.hatena.ne.jp/t/","?sort=eid&threshold=3"],
  ["http://b.hatena.ne.jp/keyword/","?sort=eid&threshold=3"]
]

def myget li,time
  li.each{|i|
    $base.each{|base|
      u=base[0]+CGI.escape(i)+base[1]
      yield i,u
    }
    sleep time
  }
end

def linkhtm u,title=u
  "<a href='#{u}'>#{title}</a>"
end

agent = WWW::Mechanize.new 
myget(li,$interval){|key,u|
  htm=""
  puts "<h1>#{key}</h1>#{u}\n<br>"
  STDERR.puts "<h1>#{key}</h1>#{u}"
  page = agent.get(u)
  li=page.root.search('*.entry-body').map{|i|
    [
      (i.inner_html=~/a href=.([^\"]+)/; key+" "+linkhtm($1)+"<br>"),
      CGI.escapeHTML(i.inner_text.tosjis.gsub(/\s+/){" "}).sub(/users/,"users<br>"),
      "\n<br>\n"
    ]
  }
  puts li
  STDERR.print li.size,","
  STDERR.print li if $DEBUG
}

切って繋いでいるだけ。ないよりはまし程度のもの。

href取り出す方法はどうだったかな。

goo.gl

goo.gl - たばさの を含むブックマーク はてなブックマーク - goo.gl - たばさの

アクセス解析データというか流れのデータをほかに持っていかれるのは嫌なんじゃないかなと思っていたらやっぱり始めたなぁ。そんなことは考えてないかな。どうせならg.glとか

> http://www.rbbtoday.com/news/20091215/64449.html

トラックバック - http://rubyist.g.hatena.ne.jp/hatecha/20091215
カレンダー
<< 2009/12 >>
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
archive Error : RSSが取得できませんでした。