2010-07-10 13 views
3

我想編寫一個Rails應用程序,它可以像Evernote Clipper一樣捕獲網頁。如果您不熟悉,可以在瀏覽器中單擊工具欄上的按鈕,捕獲網頁佈局的相當準確的副本。例如,轉到http://www.evernote.com/pub/jssmith072/shared並單擊該頁面上的單個註釋,您將能夠看到我捕獲的網頁。有幾個原因我不知道從哪裏開始:在Rails應用程序中重現Evernote Web Clipper

  • 如何以編程方式在Rails應用程序中獲取呈現的網頁?可以/我應該使用WebKit嗎?
  • 如何將此網頁存儲在我的數據庫中?
  • 如何在瀏覽器中一致顯示此網頁存檔?
+0

我在http://code.google.com/p/arc90labs-readability/上發現了一個名爲Readability的JavaScript庫,我可以將它移植到Ruby中,並通過編程方式從網頁獲取我需要的內容。它基本上剝離了所有內容,但是從頁面中獲得了不錯的內容我想我可以使用Nokogiri來解析HTML。我仍然不確定如何獲取Readability找到的圖像或如何存儲/查看它。 – Jake 2010-07-10 02:43:36

+0

好吧,顯然我可以使用open-uri讀取圖像的二進制數據,但我仍然不確定如何構建/存儲/查看數據。 – Jake 2010-07-10 03:01:56

回答

0

就個人而言,我傾向於不把它存儲在數據庫中的所有,而是產生一個後臺作業拉下網站,分析它,並與您的可讀性,端口過濾,然後將其保存到文件系統(公開的或非公開的,取決於您的需要,您可以輕鬆地編寫資產服務控制器以公開非公共靜態內容)使用唯一標識它的目錄方案。

這樣你就不需要做任何可怕的,複雜的事情,只需讓服務器做他們擅長的事情,而不必寫一些自定義的東西來每次從數據庫中提取潛在的大量數據此頁面被查看。

對於這樣的事情,您只需要一個簡單的數據庫條目,其中包含一個id,一個url,某種標誌以表明它已被成功下載(或者它最後一次失敗,因此可以在以後再次嘗試),它應該/將存儲在文件系統上的路徑,也許是一個文本列,其中包含用於搜索的頁面文本轉儲。

+0

是的,這聽起來好像比將數據存儲在數據庫中更好。 – Jake 2010-07-11 03:44:48

相關問題