Ruby中可用的网页抓取宝石/工具[关闭]
Posted
技术标签:
【中文标题】Ruby中可用的网页抓取宝石/工具[关闭]【英文标题】:Web page scraping gems/tools available in Ruby [closed] 【发布时间】:2013-02-08 20:25:07 【问题描述】:我正在尝试在我正在处理的 Ruby 脚本中抓取网页。该项目的目的是展示哪些 ETF 和股票共同基金最符合价值投资理念。
我想抓取的页面示例如下:
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 推荐了哪些网页抓取工具,为什么?请记住,那里有成千上万的股票基金,所以我使用的任何工具都必须相当快。
我是 Ruby 新手,但我有使用 lxml 在 Python 中抓取网页的经验 (https://github.com/jhsu802701/dopplervalueinvesting/blob/master/screen.py)。一旦下载了超过 5000 只股票的页面,lxml 可以在几分钟内将它们全部抓取。 (我记得尝试过 BeautifulSoup,但因为太慢而拒绝了它。)
【问题讨论】:
Yahoo Finance 实际上有许多 API 可用,您应该使用其中之一。 【参考方案1】:我在 https://www.ruby-toolbox.com/categories/html_parsing.html 看到了 HTML 解析解决方案列表。我要和 Nokogiri 一起去,因为它是唯一一个仍然活跃的人。
【讨论】:
【参考方案2】:Ruby
中有很多 scraping gems
,例如 Hpricot、Nokogiri 等等。我推荐Nokogiri
刮static web pages
。如果您正在抓取dynamic web pages
(意味着涉及按钮单击、提交表单等)。我推荐Mechanize,它在内部使用Nokogiri
。
【讨论】:
Hpricot 不再有维护者。我会推荐使用 Nokogiri :)以上是关于Ruby中可用的网页抓取宝石/工具[关闭]的主要内容,如果未能解决你的问题,请参考以下文章