查天气43课-46课

【43】查天气1 天气网的3个接口 不可用 百度 :天气网 接口 【44】查天气2 两个新模块 1,urllib2 2.json import urllib2 web=urllib2.urlopen('http://www.baidu.com') content=web.read(); f=file('baidu.html','w') f.write(content) f.close() 解决中文问题和城市代码问题用了大半天 中文问题的解决方法: 在代码和城市代码py文件中开头部分都加上 # -*- coding: cp936 -*- 城市代码部分 用excel和word完成城市代码文件的编写 代码 # -*- coding: cp936 -*- import urllib2 #import json from city import city #print city cityname=raw_input('你想查哪个城市的天气?\n') citycode=city.get(cityname) if citycode: #not empty url='http://www.weather.com.cn/data/cityinfo/%s.html' %citycode content=urllib2.urlopen(url).read() print content else: print 'no' 其中city.py中文件的格式 # -*- coding: cp936 -*- city={ '北京':101010100, '海淀':101010200, '朝阳':101010300, ..... '玉山':101340903, '新港':101340904 } 【45】查天气3 代码 # -*- coding: cp936 -*- import urllib2 import json from city import city #print city cityname=raw_input('你想查哪个城市的天气?\n') citycode=city.get(cityname) if citycode: #not empty url='http://www.weather.com.cn/data/cityinfo/%s.html' %citycode content=urllib2.urlopen(url).read() #字符串类型 data=json.loads(content)#字典类型 result=data['weatherinfo'] str_temp= ('%s\n%s~ %s')%( result ['weather'], result ['temp1'], result ['temp2']) print str_temp else: print '没有找到该城市' 加上try...catch后的代码 # -*- coding: cp936 -*- import urllib2 import json from city import city #print city cityname=raw_input('你想查哪个城市的天气?\n') citycode=city.get(cityname) if citycode: #not empty try: url='http://www.weather.com.cn/data/cityinfo/%s.html' %citycode content=urllib2.urlopen(url).read() #字符串类型 data=json.loads(content)#字典类型 result=data['weatherinfo'] str_temp= ('%s\n%s~ %s')%( result ['weather'], result ['temp1'], result ['temp2']) print str_temp except: print'查询失败' else: print '没有找到该城市' 【46】查天气4 还没学习 这个部分还是很重要的
posted @ 2014-04-02 19:33  kaliu  阅读(144)  评论(0编辑  收藏  举报