Qt实现天气预报与PM2.5监测系统(5)天气预报接口
来源:互联网 发布:java并发编程实战 epub 编辑:程序博客网 时间:2024/04/30 06:12
Qt实现天气预报与PM2.5监测系统(5)天气预报接口
天气预报接口
www.weather.com.cn API接口数据失效,只是测试数据。
sina API 免费 只有2天的 0(今天) 1(明天)
http://php.weather.sina.com.cn/xml.php?city=%CE%E4%BA%BA&password=DJOYnieT8234jlsK&day=0
天气网 API 免费
http://i.tianqi.com/index.php?c=code&id=2&icon=1&py=wuhan&num=6
阿里云API 收费
https://market.aliyun.com/products/57096001/cmapi011242.html?spm=5176.730006-cmapi010812.102.18.yEyQCW#sku=yuncode524200004
阿里云市场
现在免费的接口使用上都有一些不方便的地方,好在收费的服务稳定,数据更完善,阿里云市场中API 收费(0元/100次, 1元/2000次,一年期限)。例如一个设备每天访问5次,一年约2000次,使用费用1元。
天气数据的处理流程
API接口使用
城市CODE code列表
101010100,北京
101020100,上海,上海,上海
101030100,天津,天津,天津
101200101,武汉,武汉,湖北
python程序
#!/usr/bin/python2import urllib2,urllib#coding=utf-8import sys ,json#import urllib.requestreload(sys)sys.setdefaultencoding('utf-8')#后面实现设置城市功能'''codef = open('/home/fa/code_file','r')codecity = codef.read();codef.close()print(codecity)'''host = 'http://jisutianqi.market.alicloudapi.com'path = '/weather/query'method = 'GET'appcode = '**你购买的天气appcode**'querys = 'citycode=101010100&cityid=cityid&ip=ip&location=location'#接口中使用系统设置的城市#querys = 'citycode=' + codecity[0:9] + '&cityid=cityid&ip=ip&location=location'bodys = {}url = host + path + '?' + querysprint(querys)request = urllib2.Request(url)request.add_header('Authorization', 'APPCODE ' + appcode)response = urllib2.urlopen(request)content = response.read()if (content): print(content)print("==========================================")print(type(content))print("==========================================")json_to_python = json.loads(content)print(type(json_to_python))print("==========================================")ret=json_to_pythonoutput=open('day_file','w')output.write(ret['result']['city']+'$')output.write(ret['result']['date']+'$')output.write(ret['result']['week']+'$')output.write(ret['result']['weather']+'$')output.write(ret['result']['temp']+'$')output.write(ret['result']['templow']+'$')output.write(ret['result']['temphigh']+'$')output.write(ret['result']['img']+'$')output.write(ret['result']['humidity']+'$')output.write(ret['result']['winddirect']+'$')output.write(ret['result']['windpower']+'$')output.write(ret['result']['updatetime']+'$')output.write(ret['result']['aqi']['pm10']+'$')output.write(ret['result']['aqi']['pm2_5']+'$')output.write(ret['result']['aqi']['quality']+'$')output.closeweekout=open('week_file','w')for x in range(6): weekout.write(ret['result']['daily'][x]['date']+'$') weekout.write(ret['result']['daily'][x]['week']+'$') weekout.write(ret['result']['daily'][x]['night']['templow']+'$') weekout.write(ret['result']['daily'][x]['day']['temphigh']+'$') weekout.write(ret['result']['daily'][x]['day']['weather']+'$') weekout.write(ret['result']['daily'][x]['day']['img']+'$') weekout.write(ret['result']['daily'][x]['day']['winddirect']+'$') weekout.write(ret['result']['daily'][x]['day']['windpower']+'$')weekout.close
python程序运行
会在/home/fa目录下生成,day_file与week_file文件
root@FriendlyARM:/home/fa# ./temp_p2_7.py 101200101citycode=101200101&cityid=cityid&ip=ip&location=location{"status":"0","msg":"ok","result":{"city":"武汉","cityid":"179","citycode":"101200101","date":"2017-04-05","week":"星期三","weather":"小雨","temp":"15","temphigh":"20","templow":"15","img":"7","humidity":"98","pressure":"1013","windspeed":"11.0","winddirect":"北风","windpower":"2级","updatetime":"2017-04-05 09:36:04","index":[{"iname":"空调指数","ivalue":"较少开启","detail":"您将感到很舒适,一般不需要开启空调。"},..."img":"3"}]}}==========================================<type 'str'>==========================================<type 'dict'>============================================================list-all=====================
day_file文件内容
root@FriendlyARM:/home/fa# cat day_file 武汉$2017-04-05$星期三$小雨$15$15$20$7$98$北风$2级$2017-04-05 09:36:04$100$81$轻度污染$108$
week_file文件内容
root@FriendlyARM:/home/fa# cat week_file 2017-04-05$星期三$15$20$小雨$7$东北风$微风$2017-04-06$星期四$15$19$大雨$9$北风$3-4 级$2017-04-07$星期五$15$24$多云$1$东北风$微风$2017-04-08$星期六$14$22$中雨$8$东风$微风$2017-04-09$星期日$12$20$小雨$7$东北风$微风$2017-04-10$星期一$9$13$阵雨$3$$微风$
0 0
- Qt实现天气预报与PM2.5监测系统(5)天气预报接口
- Qt实现天气预报与PM2.5监测系统(3)PM2.5模块程序
- Qt实现天气预报与PM2.5监测系统(2)Qt运行环境
- Qt实现天气预报与PM2.5监测系统(6)系统界面设计
- Qt实现天气预报与PM2.5监测系统(10)系统设置
- Qt实现天气预报与PM2.5监测系统(1)项目介绍
- Qt实现天气预报与PM2.5监测系统(4)DHT11模块驱动
- Qt实现天气预报与PM2.5监测系统(7)今日天气
- Qt实现天气预报与PM2.5监测系统(8)一周天气
- Qt实现天气预报与PM2.5监测系统(9)空气质量
- 天气预报 提供本地天气预报服务(含PM2.5,紫外线等指数)
- PM2.5遥感监测系统
- PM2.5遥感监测系统
- PM2.5遥感监测系统
- QT实现天气预报软件
- WebService:新浪网天气预报接口实现
- 气象局天气预报信息接口实现
- 天气预报简单接口的实现
- 【python】去掉字符串中某个指定位置的字符的几种方法
- 从.properties文件中获取配置数据的方法小结
- java如何获取当前时间 年月日 时分秒
- 深入Java集合HashMap实现原理
- myeclipse 启动tomcat: XXX does not exist or is not a readable directory
- Qt实现天气预报与PM2.5监测系统(5)天气预报接口
- Oracle中命名块之存储过程的简单使用
- Android 唯一标识
- bzoj1053 [HAOI2007] 反素数ant
- 判断输入的文字是否为空
- sprintf() sscanf()的使用
- 让Excel工作簿中宏自动运行的两种方法
- PyCharm集成开发环境配合nginx搭建部署环境
- mac上安装gdb及使用中碰到的问题