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 等等。我推荐Nokogiristatic web pages。如果您正在抓取dynamic web pages(意味着涉及按钮单击、提交表单等)。我推荐Mechanize,它在内部使用Nokogiri

【讨论】:

Hpricot 不再有维护者。我会推荐使用 Nokogiri :)

以上是关于Ruby中可用的网页抓取宝石/工具[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

网页抓取、屏幕抓取、数据挖掘技巧? [关闭]

网上银行网页抓取[关闭]

网页抓取:自动化按钮点击[关闭]

使用wget工具抓取网页和图片 成功尝试

请教网页里的特定数据怎么抓取?

如何抓取网页中的动态数据