Hatena::Grouprubyist

たばさの RSSフィード

05/29(木) 2008

新着日記でプログラマ探し

| 新着日記でプログラマ探し - たばさの を含むブックマーク はてなブックマーク - 新着日記でプログラマ探し - たばさの

はてな新着日記RSSを使い、idを調べ、ログにあるものは除いてプロフィールページ*1にアクセスします。とりあえず「プログラ」が含まれるものを探します。

エンジニアとかSEもいいんでしょうか。ノイズも気になるのでとりあえず。


get_rss.rbはこちらのものです→http://internet.kill.jp/wiki/index.php?%B5%BB%BD%D1%2FRuby%A4%C7RSS

参考にしたのは

http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser

http://q.hatena.ne.jp/1166155668

です

http://d.hatena.ne.jp/secondlife/20060922/1158923779

scrAPIも見たけれど結局全文検索にしたので今のところ使っていません。


# rssget-hd.rb

require 'open-uri'
require 'get_rss'
require 'nkf'

getlog='hateda-new.txt'

r = RssSite.new("http://d.hatena.ne.jp/diarylist?mode=rss")
r.get

$names=[]
r.each_item {|item|
   item.link =~ /\/\/.*\/(.*)\// ;name=$1;$names<<name;
}

nn=$names.size
tmp=$names.dup

open(getlog,'w'){} if not FileTest.exist? getlog
open(getlog,'r+'){|f|
  f.gets(nil)
  if $_
    $last=$_.split
  else
    $last=[]
  end
  $ln=$last.size
  $names.concat($last)
}
$names.sort!.uniq!
open(getlog,'w'){|f| 
  $names.each{|u|
    f.puts u
  }
}
puts "#{$names.size}(new #{$names.size-$ln}) users"
#p $names
rest= $names-$last
p rest

word=NKF::nkf('-w -m0',"プログラ" )

c=0
ms=[]
t=2
rest.each{|u|
  sleep t
  #puts"#{u}:"
  print"."
  open("http://d.hatena.ne.jp/#{u}/about"){|i|
    con=i.readlines
    con.each{|li|
      w=NKF::nkf('-w -m0', li)
      (puts "\n#{u}:#{NKF::nkf('-s',li)}";c+=1;ms.concat([u]);break) if w =~ /#{word}/
    }
  }
}
p ms
prgslist="programmer-inHD.txt"
open(prgslist,'a'){|f|
  f.puts ms
}

puts "#{c} programmers"

追記:変数名書きかえたら間違ってたので訂正。動いたのをそのまま貼るべきか。日頃から一文字変数を使わないようにすべきかな。

追記:(5/30) 初回に読み込みファイルがなくてエラーになるのを修正。

カレンダー
<< 2008/05 >>
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が取得できませんでした。