终于把不显示中文的问题搞好了,开心!
#coding = utf-8 import urllib.request import json from city import city cityname = input('你想查询哪个城市的天气?\n') citycode = city.get(cityname) #print (citycode) if citycode: try: url = ('http://www.weather.com.cn/data/cityinfo/%s.html' %citycode) #构造网址 content = urllib.request.urlopen(url).read().decode('utf-8') #读取网页源码,decode(utf-8)将JSON编码的字符串转换回Python数据结构 #print (content) data = json.loads(content) #使用json库将字符串转化为字典 #print (data) result = data['weatherinfo'] #获取字典 #print (result) str_temp = ('%s\n%s~%s') %( result['weather'], #天气 result['temp1'], #最低温 result['temp2'] #最高温 ) print (str_temp) #输出天气信息 except: print ('查询失败') else: print ('没有找到该城市')
用python中json模块提供的loads方法,把它转成一个真正的字典。
import json
data = json.loads(content)