用于数据输入的浏览器覆盖:客户端还是服务器端?

时间:2012-08-30 20:57:03

标签: ajax django proxy

我正在开发一个Django应用程序,它基本上用作网站的数据输入工具。用例包含可信用户或付费技术人员浏览网页。当他们浏览时,他们将数据输入到与您在许多代理网站上看到的类似的重叠栏,但包含允许用户编写有关网站的元数据的表单(在这种情况下,为ML算法训练分类数据)并将其提交给我的应用。

有关代理网站的示例,请参阅http://hidemyass.com/proxy/,该代理网站会将叠加层插入浏览的网站。

我听到有关如何处理此事的相互矛盾的建议。

将网站作为代理服务

通过django应用程序使用类似http://httpproxy.yvandermeer.net/的内容管道所有网址请求,并重写响应以包含标题。

赞成

  • 我可以使用像NLTK这样的性感科学库来处理回复
  • 无AJAX故障转移。用户可以提交人工数据(尽管有更多的麻烦),而无需提交计算数据。

缺点

  • 大大增加了流量。现在我的webapp必须检索所有网站并将其上传给用户。
  • 某些网站可能会阻止代理请求。我的目的是在Heroku上部署它,但是他们可能对生成这么多请求的应用程序不满意。

用户在iFrame中浏览

通过iFrame将叠加层与内容分开,并使用javascript通知当前正在浏览的网页上的叠加层

赞成

  • 分布式计算。用户机器用于发出请求并进行任何必要的计算。服务器不再是瓶颈。
  • 更严格的Ajax集成。我可以发布代表我整个模型的JSON对象。

缺点

  • iframe并非真正专为全面浏览而设计。一些网站强迫自己脱离iframe,我担心它不会是一种可靠的浏览方式。
  • 我不会使用所有这些性感的python库。我的语言处理必须在javascript中完成。

问题

我之前从未做过这样的事情。我对所涉及的所有工具都很陌生,并且在选择两种截然不同的方法时遇到了麻烦。

您建议使用哪种方法?为什么?有没有我错过的考虑因素?

1 个答案:

答案 0 :(得分:0)

OKFN的注释器为你想要完成的事情提供了良好的基础http://okfn.github.com/annotator/