2019想脱单?这款Python智能化“天气提醒”程序暖心你的小姐姐!
冬天来啦,作为“特困户”,每天早上起床的速度感觉会击败全国3%的人。
但愿人长久,不做单身狗。
实现第一步,用“和风天气”API获取天气数据(当然你也可以选用其他的接口)
城市接口:
https://api.heweather.com/x3/weather?cityid=城市ID&key=你的认证key
2016-11-08 update 和风天气的API11月初改版了,所以上述接口地址需要更换成新的,看了下就加了个“free-”,后面代码加上就好了。
城市ID
先不着急写码,我们用API调试工具试试这个接口,看看返回的是什么数据。
我用的是chrome下postman,打开postman,输入接口链接:
https://api.heweather.com/x3/weather?cityid=CN101010100&key=这里填你的key
Python内置数据类型和JSON的对应关系
结果
我们此时已经将天气数据拿到,并且反序列化为Python对象了,只有提取我们需要的数据即可。看下天气API提供哪些数据
pm2.5的值
上面说了JSON里面{}对应的是Python的dict,[]对应的是Python里的list,上图中可以比较清楚地知道这个JSON得到的Python数据其实是dict和list的多层嵌套。这里我们可以类比查《新华字典》,想要查到“天气”这个词,可以找到字母T的页码(按A~Z的有序列表),再找到“tian”所在的位置,一步步往里找就成找到想要的词了。
最外层是个dict类型:
dict: {'HeWeather...
获取天气数据的代码:
额······ 几十行 放上来比较占地方 哈哈 所以
小伙伴们 进 小编 Q 君 羊
输入827 惊
接着502 喜
最后865 连在一起就是
到站后 问小编要“想要的代码”就好
不管是哪篇文章的源代码都是可以给的哈
一切只为优化阅读体验官方要求
小编表示:
运行结果
第二步、将文字合成语音
我直接用的百度的语音合成API,调用方法很简单(浏览器就可以玩)
1、同样是注册登录获得key,百度语音
2、注册个应用,随便啥应用都行,获得APPID
这几步都可以参考官方接入指南
3、获得token(一个月有效期,过期再获取即可)
浏览器输入:
https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的AppID&client_secret=你的AppKey
返回的JSON里面的“access_token”就是调用百度语音合成API要用的token
4、合成语音 ,必填、选填参数可看官方文档
http://tsn.baidu.com/text2audio?tex=需要合成语音的文本&lan=zh&per=0&cuid=设备mac地址或手机的IMEI码&ctp=1&tok=你的token
5、我们只需要把天气文本放在第4步的链接tex=' '里面就好了
http://tsn.baidu.com/text2audio?tex=&lan=zh&per=0&cuid=设备mac地址或手机的IMEI码&ctp=1&tok=你的token%s
全部猜对的,有惊喜:“Python新年大礼包”
欢迎小伙伴评论区留言!