如何检索页面数据作为输入并为用户提供自定义输出?

时间:2013-04-23 03:44:49

标签: python django

我创建了一个翻译器,它不是语言翻译器,它只是从右到左改变字母的类型(如希伯来语或阿拉伯语,像拉丁语一样排版)。

所以现在我一直试图想象一下如何创建一个带有Google Translator等URL的网络应用程序,然后用翻译后的内容返回给用户的链接!

有什么想法吗?做法?在某个地方开始? 我使用的是Python + Django =很多正则表达式的东西,所以请随意给我打扰一些令人困惑的建议!

1 个答案:

答案 0 :(得分:1)

最小版本只是一个视图:

  • 从其自己的网址
  • 获取输入网址参数
  • 获取输入网址
  • 应用转换,
  • 将转换后的内容返回给客户。

这在Django中应该非常简单,其中包括:

import urllib2
from django.views.generic import View

class SimpleProxy(View):
    def get(self, request, source_url, *args, **kwargs):
        request = urllib2.Request(url)
        response = urllib2.urlopen(request)
        body = response.read()
        # Update body here
        return HttpResponse(body, status=response.getcode(),
            content_type=response.headers['content-type'])

您可能需要查看Django HTTP Proxy或其他类似的解决方案,这些解决方案基本相同,尽管使用不同的URL处理方案,因为它们使用固定的目标网址。

然后根据您的需要,您可能希望开发更多高级功能,例如:

  • 将请求标头从客户端复制到urllib2请求,以便源站点收到正确的标头。
  • 在对客户端的响应中重写网址,以便他们也指向您的服务(对hrefsrcaction标记来说应该非常简单,在JavaScript中更不容易)。
  • 支持POST请求。