内海@自己レスです。

> 内海です。
> 
> > > htreeをみると似たような機能を提供していますね。
> > > どちらの使い勝手が良いでしょうか?
> > 最近だとかなり使い勝手が良くて速いHpricotというやつがあるようです。
> > rubygemsでもインストールできるのでインストールもしやすいです。
> 
> これ、とても良さそうなの使ってみようと思ったら、うまくインストール出
> 来ませんでした。
> 
> ./hpricot.rb:7: undefined method `Hpricot' for main:Object (NoMethodError)
>         from /usr/lib/site_ruby/1.8/rubygems/custom_require.rb:21:in `require'
> 
> ってエラーがでます。

require 'rubygems'
require_gem 'hpricot', '>=0.4'
require 'hpricot'

doc = Hpricot(%{<a class=l href="hogehoge">bar</a>baz})
doc.search("a").map {|i| [ i['href'], i.inner_html ] }
  #=> [["hogehoge", "bar"], ["foo", "baz"]]

とすることで解決しました。 require_gem は 自動でrequire しない仕様に
なっていたとのことです。 お騒がせしました。


> インストールは
> 
> gem install hpricot --source code.whytheluckystiff.net
> を実行して 2. hpricot 0.4.43 (ruby) を選びました。
> 
> make install
> /usr/bin/install -c -m 0755 hpricot_scan.so /usr/lib/ruby/gems/1.8/gems/hpricot-0.4.43/lib
> Successfully installed hpricot-0.4.43
> 
> と、インストールは成功しているようなのですが。
> 何が間違ってるのでしょうか?
> お助けください。
> 
> > 
> > このケースであれば、
> > 
> > require 'rubygems'
> > require 'hpricot'
> > doc = Hpricot(%{<a class=l href="hogehoge">bar</a>baz})
> > doc.search("a").map {|i| [ i['href'], i.inner_html ] }
> >   #=> [["hogehoge", "bar"], ["foo", "baz"]]
> > 
> > こんな感じにすごく簡単に要素を抜き出すことが出来ます。
> > 詳しくは
> > http://code.whytheluckystiff.net/hpricot/wiki/AnHpricotShowcase
> > あたりでも見てみると良いと思います。
> 
> 
>