2012-02-21 66 views
0

我正在研究一个ROR应用程序,我需要实现一个抓取其他网站并将数据存储在我的数据库中的抓取工具。例如,假设我想抓取http://www.snapdeal.com中的所有交易并将它们存储到我的数据库中。如何使用爬虫实现这一点?如何在ruby中编写爬虫?

+1

就像任何其他语言一样。获取一些HTML,解析它,跟随链接,将所有内容存储在数据库中。 – 2012-02-21 05:19:48

+0

您可以尝试[先锋宝石](https://github.com/fl00r/pioneer),但它仍在开发中 – fl00r 2012-03-05 21:40:18

回答

0

正如Sergio所评论的那样,您可以检索页面,解析它们并遵循其链接。就你而言,这听起来像你更关注“抓屏”而不是抓取深层链接网络,所以像Scrubyt这样的库将会有所帮助(尽管它的进度已经消失)。您还可以使用像Nokogiri这样的较低级解析聚焦库。

+0

感谢球员的快速回复。但有些网站需要身份验证才能进入。所以有可能会抓取这样的网站?如果是,那么如何? – 2012-02-21 05:34:50

+0

听起来像Scrubyt可能会处理提交表单并维护结果会话cookie,尽管我从来没有尝试过。 – 2012-02-21 05:56:18

3

你想看看mechanize。另外从你提到的你可能根本不需要铁轨。

+0

他可能需要网络服务器来运行它,我认为Rails将会拯救。当然,还有其他的Web服务器,但Rails很简单。 – 2012-02-21 07:50:44

+0

@bhushan,从他提到的没有,没有理由认为铁路将是有用的。 – pguardiario 2012-02-21 08:11:06

+0

我知道这个脚本是独立的,但是如何将它们与App结合? – 2012-02-21 08:14:28