Ruby-ノコギリで簡単Webアクセス

Rubyはネットワークアクセスも簡単なので,Webクローラー・ロボットの類は何度も何度も作ってますが...
ライブラリのNet/HTTPやURIクラスが強力なので,つい自分で正規表現でHTMLをパースしちゃうんですよね.
でも,リンクアドレスを取得しようと思って

/<a href="(\w+)>"/

なんて正規表現を書くのは複雑な上,w3c規格にきっちり従うのは困難です.
なので,ちゃんとライブラリを使おうと思うと,例えばノコギリ.
http://wiki.github.com/tenderlove/nokogiri

ノコギリのインストールはこんな感じです.

RubyGemsをインストール.
http://docs.rubygems.org/

# wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
# tar xvf rubygems-1.3.5.tgz
# cd rubygems-1.3.5
# ruby setup.rb

Nokogiriをインストール.

# rehash
# gem18 install nokogiri

そしてプログラムはこんな感じです.
例えば,Yahoo!Japanで「catfood」で検索をすると,今現在,トップに「Catfood Inc」が来るようです.この検索結果を自動化しようとすると,テキストブラウザでは単にLIタグの中にあるA HREFタグが検索結果のようなので,

# coding: UTF-8
$LOAD_PATH.push("/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.3.3/lib");
require 'nokogiri'
require 'open-uri'
require 'kconv';

doc = Nokogiri::HTML(open('http://search.yahoo.co.jp/search?p=catfood'))
doc.css('li a').each do |link|
  print "#{link.content.toutf8()}\n";
end

↑これでYahoo!の検索結果と同じ結果が得られました.
凄く簡単です.

> ruby test.rb
キャットフード通販オンラインショップ -Catfood Inc ...
Cat Food Official HP
**EAT CATFOOD**
mike.catfood.jp
saitou155・プログラム技術のページ
購入履歴*20061104 | 黒猫にごはん。
購入履歴*20061108 | 黒猫にごはん。
『中学受験・息子はホンマに出来るのか!?』 | 読書というもの
Vector:CATFOOD (Windows3.1 / 画像&サウンド ...
ロリポップホームページ