2012-02-21 58 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