2013-02-23 10 views
10

私が取り組んでいるRubyスクリプトでWebページを削り取ろうとしています。このプロジェクトの目的は、どのETFおよび株式ミューチュアルファンドが価値のある投資理念に最も適合しているかを示すことです。Rubyで利用可能なWebページの宝石/工具を掻き集める

私はこすりしたいページのいくつかの例は以下のとおりです。あなたがルビーのためにお勧めします、そしてなぜかこする何ウェブツール

http://finance.yahoo.com/q/pr?s=SPY+Profile 
http://finance.yahoo.com/q/hl?s=SPY+Holdings 
http://www.marketwatch.com/tools/mutual-fund/list/V 

?そこには何千もの株式ファンドがあることを覚えておいて、私が使用するツールはかなり速くなければなりません。

私はRubyを初めて使っていますが、lxmlを使ってPythonでWebページをスクラップした経験があります(https://github.com/jhsu802701/dopplervalueinvesting/blob/master/screen.py)。 5000以上の株のページがダウンロードされると、lxmlは数分でそれらをすべて削り取ることができます。 (私はBeautifulSoupをしようとしたが、それはあまりにも遅かったので、それを拒否覚えています。)

+1

Yahoo financeは実際には多くのAPIを利用できますが、そのうちの1つを使用する必要があります。 – pguardiario

答えて

22

HpricotようRubyで利用可能scraping gemsNokogiriと非常に多くの非常に多くがあります。 static web pagesを掻き集めるにはNokogiriをお勧めします。 dynamic web pagesをこすっている場合(ボタンのクリック、フォームの送信などが含まれます)。内部でNokogiriを使用しているMechanizeをお勧めします。

+0

Hpricotにはメンテナがなくなりました。 Nokogiriを使用することをお勧めします:) – Jake88

関連する問題