http://tam.qmix.org/wiki/Hpricot.html
http://labs.airs.co.jp/2007/7/11/site_explorer_api_hpricot_seo
簡単にできました。
require 'rubygems'
require 'hpricot'
require 'open-uri'
require 'kconv'
doc = Hpricot(open(ARGV[0]))
(doc/'a').each { |e|
s = e.inner_html.toutf8.gsub(/<.*?>/,'')
next if s == nil || s == ''
print "["
print s
print "]\n"
print e.attributes['href']
print "\n"
}
e.inner_html がアンカーテキストになりますが、UTF-8に変換し、タグをHTMLのタグを消去しています。
$ ruby crawler.rb http://nasuta.seesaa.net/ | head -10
[Nasuta開発ブログ]
http://nasuta.seesaa.net/
[Nasua]
http://www.nasuta.jp/
[http://www.nasuta.jp/]
http://www.nasuta.jp/
[ruby でRSSの解析 その2 はてぶのデータエクスポートデータの解析]
http://nasuta.seesaa.net/article/91728241.html
[http://hatena.g.hatena.ne.jp/bbs/3/13]
http://hatena.g.hatena.ne.jp/bbs/3/13
つぎは階層を追っかけてクローラーっぽい動きを実現させてみますかね。