我应该进行URL提取还是调用类方法?哪个是最好的选择

时间:2014-02-01 11:42:59

标签: python google-app-engine webapp2

从两个不同的请求处理程序获取内容会更好吗? 这就是我的app结构的样子

#/twitter/<query>
class TwitterSearch(webapp2.RequestHandler):

    def get(self,query):

        #get data from Twitter
        json_data = data_from_twiiter()
        return json_data

#/google/<query>
class GoogleSearch(webapp2.RequestHandler):

    def get(self,query):

        #get data from Twitter
        json_data = data_from_google()
        return json_data

现在我可以通过调用各自的URL来分别访问Twitter搜索数据和Google搜索数据。

我还需要将这些搜索结果组合并提供给用户。我最好的办法是什么?

我应该像这样调用各个类的get方法吗?

#/search/<query> 
#Combined search result from google and twitter
class Search(webapp2.RequestHandler):

    def get(self,query):

        t = TwitterSearch()
        twitterSearch = t.get(self,query)

        g = GoogleSearch()
        googlesearch = g.get(self,query)

或者使用urllib或类似的东西从URL获取数据?

#/search/<query> 
#Combined search result from google and twitter
class Search(webapp2.RequestHandler):

    def get(self,query):

        t = get_data_from_URL('/twitter/'+query)

        g = get_data_from_URL('/google/'+query)

或者还有其他方法来处理这种情况吗?

1 个答案:

答案 0 :(得分:4)

您不应该对自己的应用程序进行HTTP调用,这会引入完全不必要的开销。

我会通过将查询代码提取到一个单独的函数中并从两个请求处理程序中调用它来完成此操作。