为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理带有加号的python urllib2 appengine中的网址?

如何处理带有加号的python urllib2 appengine中的网址?

GCT1015 2021-03-19 18:15:35
这是我的问题。我正在尝试从烂番茄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)


查看完整回答
反对 回复 2021-03-31
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

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


查看完整回答
反对 回复 2021-03-31
  • 4 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号