解析するN 個のURLのセットを指定して、指定された PhantomJS (実際には CasperJS) スクリプトに対してN回のシェル呼び出しを実行する RoR アプリケーションがあります。
そう、
今、私はこのようなものを持っています:
urls_to_parse = ['first.html', 'second.html',...]
urls_to_parse.each do |url|
parse_results = \`casperjs parse_urls.js '#{url}'\`
end
私は今までこれをやったことがありません。RoR/Ruby アプリケーションからシェル スクリプトを起動しています。では、なぜ PhantomJS を RoR と組み合わせて使用するのでしょうか?
私は基本的に、解析が必要な URL を受信し続ける API (RoR アプリ) を持っています。これらは、ヘッドレス ブラウザ方式で解析する必要があります。ページは実際にレンダリングする必要があります (そのため、Nokogiri やその他の HTML パーサーは使用しません)。
これを本番環境のパフォーマンスに適用することを懸念しています。先に進む前に、これを正しく行っているか、またはより良い方法で行うことができるかを知りたいです。