来自网页的urllib2输出的UniqueDecodeError,没有非Unicode字符

时间:2018-08-01 17:50:00

标签: json python-2.7 urllib2

我正在尝试使用Python2.7中的urllib2从api网页读取数据。我正在使用以下几行来阅读该页面:

url = 'https://api.edamam.com/api/nutrition-data?app_id=<my_app_id>&app_key=<my_app_key>&ingr=1cheeseburger'
json_obj = urllib2.urlopen(url)
data = json.load(json_obj)

这些行给我这个错误(错误在上面的代码的最后一行):

UnicodeDecodeError: 'utf8' codec can't decode byte 0xb5 in position 0: invalid start byte

我了解到此错误意味着json_obj中存在非Unicode字符,但是我不确定为什么会这样,因为在浏览器中打开了相同的网址,并且网页的前几行看起来类似于以下内容:

{
"uri" : "http://www.edamam.com/ontologies/edamam.owl#recipe_2a58ff3e1fec41d79da72f0be446baaa
"calories" : 312,
"totalWeight" : 119.0,
"dietLabels" : [ "BALANCED" ],
"healthLabels" : [ "PEANUT_FREE", "TREE_NUT_FREE", "ALCOHOL_FREE" ],
"cautions" : [ ],
"totalNutrients" : {
"ENERC_KCAL" : {
  "label" : "Energy",
  "quantity" : 312.96999999999997,
  "unit" : "kcal"
},

如您所见,此网页上没有非Unicode字符,因此我并没有真正了解正在发生的事情。

0 个答案:

没有答案