特定のプロパティを見つけるために、さまざまな状態データベースからさまざまな放棄されたプロパティ情報をスクレイピングするための、かなり大規模な自動化アプリケーションを開発しています。さまざまな形式の自動化を使用して、約 8 つの州の Web サイトの検索スクリプトを既に開発しています。Ruby の Mechanize ライブラリのようなものを使用して自動化を実行することを好みます。これは、これまでに遭遇した中で最も安定した方法だからです。場合によっては、Mechanize でスクレイピングを自動化できず、Watir のようなもの (より具体的には、Vapir と呼ばれる Watir のブランチ) にフォールバックする必要があります。Mechanize は HTTP リクエストのみを作成し、JS 解釈を処理しないため、ソースが JavaScript を検索する必要がある場合に特に Vapir が必要です。
私の問題は、Vapir が Internet Explorer のインスタンスを自動化することです。場合によっては、長時間の検索 (これらの検索の一部は 4,000 以上の検索語のリストに対するものです) の後、IE がロックします。OLE エンジンの問題だと思います。私が受け取るエラーは次のとおりです。
failed to create WIN32OLE object from `InternetExplorer.Application' HRESULT error code:0x80004005 Unspecified error
この問題を解決する方法が見つかりません。
私の質問は、ロックアップする自動化された OLE インスタンスの解決策または回避策を誰かが知っているかどうかです。エラーを修正するには、すべての IE プロセスを手動で強制終了し、自動検索を再開する必要があります。
私が知っている代替手段は、(IE ではなく) バックエンドでVapirを介して Firefox を自動化するか、おそらくPhantomJSのようなものに切り替えることです。これらのオプションのいずれかについて意見を持っている人はいますか?