【注:此文章已首发于CSDN公众号】
一、事情起因
在一个阴雨绵绵的早上,一切都是那么安静祥和。忽然之间,被电话打破了宁静,一看是女朋友的电话,就知道这个小家伙肯定又做了什么傻事。果然,16℃的雨天,她居然穿着裙子去上班被冻傻了,问她干嘛不看天气预报,居然回复说没有看天气预报的习惯。最终我又从单位赶回到家里来给她拿衣服。。。
在回家的途中,了解到她有看短信的习惯,但是不看APP推送的信息,于是,就有了利用Python编程来实现获取当天的天气信息并通过短信推送到她手机的想法。
二、基础功能的实现
最初的构想逻辑是,根据城市的名字获取当天的天气信息数据,再根据获取到的天气数据进行短信发送到手机。具体的实现方式如下:
1)天气获取
首先,最基础的一步就是获取当天的天气信息。经过分析,需要获取以下几点关键信息:当天最高气温、当天最低气温、当天天气情况及当下时刻实时气温等信息。
为此,天气数据源就成为了考虑的重点。考虑到天气数据的实时性、稳定性等因素,在经过一番选择之后,最终确定采用墨迹天气API提供的数据源,我们需要获取的数据在其中的【15天天气预报】及【实时天气获取】两个API中,最终获取到的示例数据如下:
{
"data": {
"city": {
"cityId": 2,
"counname": "中国",
"ianatimezone": "Asia\/Shanghai",
"name": "北京市",
"pname": "北京市",
"secondaryname": "北京市",
"timezone": "8"
},
"condition": {
"condition": "晴",
"conditionId": "1",
"humidity": "48",
"icon": "0",