読者です 読者をやめる 読者になる 読者になる

RubyのWWW:Mechanize 0.9.0で以前は動作していたクローラーが不具合を起こしていた問題の解決

Ruby

半年ほど前にWWW:Mechanizeでクローラーを作成しました。現在の開発環境でクローラーを実行してみたら、よくわからないエラーのために動作しなくなっていました。結論としては、WWW:Mechanizeが内部で利用しているパーサーを、NokogiriからHpricotに変更することで解決しました。

require 'hpricot'
WWW::Mechanize.html_parser = Hpricot

どうやらNokogiriに問題があり、次のバージョンで解決されるようです。

参考:RubyのMechanize&Nokogiriの日本語問題は次の0.9.1で解消予定