思考記述*1
以前からPerl<>Ruby間のプログラム制御をBashで強引に動かしてきました。*1
やはり、LWP::RobotUAやLWP::UserAgentはとても力強い。
WWW::Mixiなんか、ないとどうしようもない位だ!
そこで、[あ]はっしーさんや、ちゃさんからのアドバイスでようやく
プロセス間通信にたどり着きました。
SOAPかXML-RPCかソケットプログラミングか、どれで実装するのが良いか
これからいろいろ調べなくてはならないようです。
確かに、今の不恰好なソフト構成では無駄にリソースを消費しています。
追記:設計案
プロセス間通信の手法をどれにしようか迷っておりましたが、
RubyもPerlもXML-RPCを導入するのが比較的容易そうなので
学習も兼ねて、まずはXML-RPCにしようかと思います。
あと、id:satoship:20070122:1169384860で見つけた
HTTPパーサHpricotを使ってHTMLの解析をするのが良さ気ですね。
こんな感じ(イメージ図)
Phase1. WebAgentが目的のサイトへログイン、ページを取得
Phase2. HTTPパーサを使って解析、目的の値(文字列orURI)を取得
Phase3. WebAgent(XML-RPCクライアント)から人工無脳(XML-RPCホスト)へリクエストする。
レスポンスとして人工無脳により生成された文章を受け取る
Phase4. WebAgentが目的のサイトへPOSTする
徐々に具体化してきた。
あとは、個々のテストコードを記述して行く段階だろうか。
……何か、見落としているような気がしてならない……??