3

我想编写一个 Rails 应用程序,它能够像 Evernote 剪辑器那样捕获网页。如果您不熟悉,可以在浏览器中单击工具栏上的按钮,它会捕获网页布局的非常准确的副本。例如,访问http://www.evernote.com/pub/jssmith072/shared并单击该页面上的单个注释,您将能够看到我捕获的网页。我不知道从哪里开始有几个原因:

  • 如何在 Rails 应用程序中以编程方式获取呈现的网页?我可以/应该使用 WebKit 吗?
  • 如何将此网页存储在我的数据库中?
  • 如何跨浏览器一致地显示此网页存档?
4

1 回答 1

0

就个人而言,我倾向于根本不将其存储在数据库中,而是生成一个后台作业来拉下站点,解析它并使用您的可读性端口对其进行过滤,然后将其保存到某个文件系统中(公共或非, public,根据您的需要,您可以使用唯一标识它的目录方案轻松编写资产服务控制器以公开非公共静态内容。

这样你就不需要做任何可怕、复杂的事情,并且可以让服务器做他们擅长的事情,而不是每次查看这个页面时都必须编写一些自定义的东西来从数据库中提取潜在的大量数据.

对于这样的事情,您只需要一个简单的数据库条目,其中包含一个 id、一个 url、某种标志以指示它已成功下载(或上次失败的时间,以便稍后再试)、文件系统上的路径它应该/将被存储在一个文本列中,其中包含页面文本的转储以用于搜索目的。

于 2010-07-10T06:45:28.753 回答