这是我的问题。我正在尝试从烂番茄API请求一个URL。现在的问题是,它们要求您让电影标题在任何应该有空格的地方都包含+号。但是我不确定如何在App Engine端实现此功能,因为每当我尝试在App Engine上执行相同的操作时,都会收到相同的错误这是我的代码: title = self.request.get("title") site = "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=" + constants.ROTTEN_TOMATOES_KEY + "&q=" + title + "&page_limit=1" page = urllib2.urlopen(site) soup = BeautifulSoup(page) self.response.out.write(soup)常量只是一个包含我所有密码和内容的python文件,我正在使用漂亮的汤来清理东西,但是我敢肯定这不是问题。只需访问URL myapplication.com/about?title=your+title+goes+here,即可访问此代码,其中myapplication将是网站的URL,可能是一些appspot.com的URL。这适用于不包含+号的URL。
4 回答

翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
我用urllib.urlencode。
例子:
params = { 'q' : 'value', 'apikey' : key_value }
request_url += urllib.urlencode(params)
urllib2.urlopen(request_url)

拉丁的传说
TA贡献1789条经验 获得超8个赞
我还没有找到处理加号的方法,因为appengine似乎推断这些是新的变量/值。但是,只要访问URL的应用程序能够用[regex]而不是普通的'+'代替[space],则使用'+'以外的正则表达式是解决整个问题的可行方法。鉴于此服务的预期应用程序将成为iPhone应用程序的后端,因此此方法应该不会有太多麻烦。我只需要确保我的正则表达式不包含在任何电影名称中,并且它不会太长。对于使用appengine将此类数据转发到另一个在线服务的网络应用程序,可以编写一个JavaScript脚本来正确处理此问题。
添加回答
举报
0/150
提交
取消