先日のRubyKaigi2007で朴 芝印さんがプレゼンしていたWebScrappingTool「scRubyt」をインストールしてみました。プレゼンでは「gem install」でOKとのことでしたが、結構はまりました。
日本 Ruby 会議 2007 「rubyでする Web scrapping – Hpricot と mechanize そして scRubyt (朴 芝印)」
まず、scRubytの公式サイトはこちらです。
scRUBYt! – a Simple to Learn and Use, yet Powerful Web Scraping Toolkit Written in Ruby
朴さんのサイトも探してみたのですが(プレゼン資料欲しい!)、見つからず。後日にでもRubyKaigi2007のサイトに登録されるといいなぁ、と言ってみる。
公式サイトに従ってインストール。インストール先の環境はDebian 3.1.r5です。パッケージは標準インストール時からいくつか追加してあります(ZLibとか)。同じ手順で行えば完璧にうまくいくという資料にはなってないです。申し訳ない。
su - root
gem install mechanize
gem install parsetree ruby2ruby
gem install scrubyt
gem install ParseTreeReloaded
最後の1行は公式サイトのインストール方法には記載されていないので注意してください。公式フォーラムに解決策が載っています。
LoadError: no such file to load — parse_tree_reloaded – scRUBYt!
これで問題ないはずなんですが、自分の環境にopensslが入ってなかったので、もうひとハマり。結局opensslの開発向けパッケージを入れて、Rubyを再コンパイルしたらうまくいきました。せっかくなので、最新パッチを適用してみます。(RubyKaigi2007開催中にリアルタイムリリースされた品です)
sudo apt-get install openssl libssl0.9.7 libssl-dev
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p36.tar.gz
tar zxvf ruby-1.8.6-p36.tar.gz
cd ruby-1.8.6-p36
./configure
make
make test
sudo make install
これでirbでrequire 'scrubyt'
が成功。ようやく遊べる。