WWW::Mechanize

Debianとくんずほぐれずの格闘

私の開発環境はDebianなわけですが、ここにRubyGemsインスコして
さらにHpricotとWWW::Mechanizeを.gemからインスコしようと考えたわけです。
しかし、Debianのapt-lineがstableだったため、導入に苦戦。
apt-get install rubyだけでは、rubyパッケージが不足した状態なのです。
ruby1.8-devやらlibopenssl-rubyやら必要なライブラリを別途入れてあげなくちゃならない。
他にも開発に必要なライブラリが欠落していたご様子。
要所要所でエラーを吐くのです。
苦戦すること十数時間、ようやくapt-lineをtestingにするのを失念していたことに気づいて、apt-lineをtestingに変更。
実は、testingだとapt-getでWWW::Mechanizeもインスコできたことが発覚しました。
apt-get install libwww-mechanize-rubyです。

WWW::Mechanizeを使おうと思ったわけ

今まで、PerlのLWP::RobotUAのサブクラスであるWWW::Mixiを使って
mixi.jpへアクセスし、HTMLをパースしていました。
取得したデータをbashまたはXML-RPCを使ってSixamoへ渡して、Sixamo
生成した文字列を再びPerlへ渡すといった処理を行なっていたのですが。
この処理の仕方がどうにも気持ち悪い(特に、bashで連携させていた辺りが気持ち悪かったので、他の実装方法を探していました。)

そこで、RubyのWebAgentライブラリWWW::Mechanizeを導入しようと考えました。
そうすれば、mixi.jpからGET⇒HTMLのパース⇒Sixamoる⇒mixi.jpへPOSTがRubyだけでできる!
あと、せっかくなので全体も組みなおして巡回ルートやユーザ情報をYAMLで管理するようにしようと思います。
すっきりしたコードを書いて、巡回速度の向上を目指したいです。

大変そうなのは、不定期で変更されるmixi.jpをパースする処理を作るところでしょうか。

当面の課題は、mixi.jpへのアクセス、HTMLのパースです。