2011-12-13 6 views
2

私は、MechanizeライブラリでRuby on Railsを使用してストアウェブサイトをスクラップしています。問題は何度も私が特定の要素をクロールできないことです。しかし、私はサイトで「ソースを見る」ときにこれを見ることができます。ベストウエッブスクラップRuby on Railsライブラリ(JavaScriptによって生成されるダイナミックHTMLを扱う)

たとえば、ウォルマートのカテゴリ(この場合、「健康」である)は不可能です。これは動的にHTML(javascriptなど)が作成されているためですこれを掻くためには、Webリクエストを処理するためのブラウザが必要です。

http://www.walmart.com/ip/Replacement-Sensor-Module-for-AlcoMate-Prestige-Breathalyzer/10167376

私はまた、Amazon EC2の上でLinuxマシンを使用しています。 UIスクレイピング用のブラウザをインストールするのは難しいでしょう。私を助けることができるRails gem/pluginはありますか?

ありがとうございました。

答えて

3

あなたの質問は、ウェブブラウザと同じ方法でHTML文書のDOMを解析する簡単な方法は何ですか?解析されたDOMに対してドキュメント内のJavaScriptを実行しますか?実際のWebブラウザを実行しないでください。

これは少し難解です。

ただし、すべてが失われることはありません。 Capybaraをご覧ください。受け入れテスト用に作成されていますが、一般的なドキュメントのgrokkingにも使用できます。 JavaScriptを実行するには、それをサポートするドライバを使用する必要があります。これは、おそらくcapybara-webkitAkephalosまたはcapybara-envjsを使用することを意味する "ヘッドレス"(ブラウザのGUIなし)にしたいからです。

もう1つのオプションはHarmonyであるかもしれませんが、あなたが望むことをするように見えるだけでなく、もはや維持されないように思われることを除いて、私は何も知らないのでYMMVです。

関連する問題