【发布时间】:2016-02-10 12:00:05
【问题描述】:
我想查询 Freebase API 以获取何塞·穆里尼奥效力过的球队名单。
所以,我在浏览器上使用的网址是
https://www.googleapis.com/freebase/v1/mqlread?query=[{"name": "José Mourinho","/sports/pro_athlete/teams": [{"mid": null,"team": null,"to": null,"optional": true}]}]
然而,
import json
import urllib
service_url="https://www.googleapis.com/freebase/v1/mqlread"
query = '[{"name": "' + "José Mourinho" + '","/sports/pro_athlete/teams": [{"mid": null,"team": null,"to": null,"optional": true}]}]'
url = service_url + '?' + 'query='+query
response = json.loads(urllib.urlopen(url).read())
给我一个错误提示,
UnicodeError: URL u'https://www.googleapis.com/freebase/v1/mqlread?query=[{"name": "Jos\xe9 Mourinho","/sports/pro_athlete/teams": [{"mid": null,"team": null,"to": null,"optional": true}]}]' contains non-ASCII characters
解决办法是什么?
【问题讨论】:
-
其实我知道。但是在 Python 中是否有任何 hack/绕过?
-
@RNar 我在发布之前看到了。该解决方案给了我两次解码的错误。
-
您是否尝试过使用urllib.parse.quote?
-
我使用的是 python 2.7。它仅适用于 3
标签: python-2.7 urllib