2013-02-23 39 views
10

我试图在我正在处理的Ruby脚本中抓取网页。该项目的目的是显示哪些ETF和股票共同基金最符合价值投资理念。Ruby中提供的网页抓取宝石/工具

我想凑一些网页的例子是:

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中抓取网页的经验(https://github.com/jhsu802701/dopplervalueinvesting/blob/master/screen.py)。一旦5000+股票的页面被下载,lxml可以在几分钟内全部刮掉。 (我记得试图BeautifulSoup,但拒绝它,因为它是太慢了。)

+1

雅虎财务实际上有很多API可用,你应该使用其中的一种。 – pguardiario 2013-02-23 09:05:03

回答

22

有在Ruby这么多scraping gems可以像HpricotNokogiri和这么多。我建议Nokogiristatic web pages。如果您正在抓取dynamic web pages(意味着按钮点击,提交表格等)。我推荐Mechanize,它在内部使用Nokogiri

+0

Hpricot不再拥有维护者。我会推荐使用Nokogiri :) – Jake88 2014-02-22 21:12:37