From: Masahiro Utsumi Date: 2006-08-17T04:05:25+09:00 Subject: [ruby-list:42711] Re: リンクを抜き出す正規表現について 内海@自己レスです。 > 内海です。 > > > > 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(%{barbaz}) 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(%{barbaz}) > > doc.search("a").map {|i| [ i['href'], i.inner_html ] } > > #=> [["hogehoge", "bar"], ["foo", "baz"]] > > > > こんな感じにすごく簡単に要素を抜き出すことが出来ます。 > > 詳しくは > > http://code.whytheluckystiff.net/hpricot/wiki/AnHpricotShowcase > > あたりでも見てみると良いと思います。 > > >