美文网首页
为了面对川剧变脸一样的天气,我用Python做了一个监控天气的程

为了面对川剧变脸一样的天气,我用Python做了一个监控天气的程

作者: 用Python不加班 | 来源:发表于2019-11-05 23:37 被阅读0次

        11月的南方已经成功入冬,但是对于我所在的城市来说,还是一天能经历四个季节的日子!只要稍微一不注意,就能体会到冰火两重天的感觉,就在前不久,笔者就因为川剧变脸一样的天气而重感冒,被抬进了医院打了三天的点滴。

    我太难了

       秉着人定胜天的精神,我用Python写了一个能实时监控天气的程序!可以每天定时把当天的天气情况直接发到微信群里。必须用精准的程序把穿衣服这块拿捏的死死的!

    鬼天气再见!

        查询天气接口

        要获取天气情况,需要一个查询天气的接口,网上找了一下,一般都是注册后送一定调用次数的,我选择了一个,免费送 500 次查询次数的。

    其中城市名 cityname 和 key 是必填项。

    http://v.juhe.cn/weather/index?format=2&cityname=苏州&key=您申请的KEY

    key 值在 juhe.cn 我的接口那一栏中可以看到

    我们也可以事先在 Postman 工具中调试看看接口能否调通。

    Postman 接口工具没用过的没关系,他们网页上也提供了调试工具。

    查询天气方法

    我们直接用 requests 库请求接口就能获得 json 格式的天气信息,json 数据中包含了当天和未来几天的天气信息,这里我只需要当天的,当天数据都在 result 下的 today 里,提取出来用 return 返回。

    如果有想一起学习交流Python的兄弟萌,加一下扣 qun:852  250   729,大家一起学习交流Python,还有各种免费的学习材料与路线经验哦!

    通过微信发送天气消息

    我们通过微信把天气信息发到群里,这里我们需要用到调用微信的库,itchat 库或者 wxpy 都可以,这里我用了 wxpy 库。

    先导入 wxpy 库。

    from wxpy import *

    我们把刚才的请求接口返回的天气信息整合一下,然后用 wxpy 库的 search 方法通过群名称找到你需要发送天气消息的这个群,用 send 方法发送。

    我这里是发送到群里,当然,你也可以直接发送给个人微信。

    my_friend = bot.friends().search(ux27;pk哥x27;)[0]

    定时操作

    如果每次都需要我们手动运行,那就有点麻烦,我们要让程序每天在固定时间定时发送,这里需要用到 Timer 定时器。

    Timer 定时器格式:

    Timer(86400, get_weather)

    第一个参数表示相隔指定时间(单位:秒)后再次调用方法(第二个参数),注意,方法后不要带括号。

    86400 秒就是相隔 24 小时,也就是一天的时间。

    t = Timer(86400, get_weather) t.start()t.join()

    异常处理

    如果信息发送失败,我把信息发给自己,这里我做了一个异常处理。

    except BaseException: my_friend = bot.friends().search(ux27;brucepkx27;)[ 0] # 发送不成功,则发送消息给自己,提醒消息发送失败 my_friend.send(ux27;天气消息发送失败x27;)

    我们的程序需要持续运行,那是不是需要一直在电脑上运行啊?这样有点不现实啊,我们把它部署到服务器上就可以搞定了,现在服务器也很便宜,做活动的时候一般 100 元以内就可以买一年。

    部署在服务器


    发到群里效果如下图,当然,你还可以多加一些接口返回的信息或者自己想说的话。

    可能存在的问题

    1、你的微信登录不了网页版微信

    因为 itchat 库和 wxpy 库都是调用微信的网页版接口,如果你的微信注册比较晚,被限制了网页版登录功能,那这个程序你无法运行。

    2、发送不到指定群

    先检查下群名称,把群名称一些 emoji 表情符号去掉,这些特殊符号可能导致无法识别。

    群名称没错的话,看看自动发送信息的这个号有没有把这个群添加到通讯录。

    这就是我写的监控天气的小程序,以后再也不担心被翻脸如翻书一样的天气安排啦!!

    相关文章

      网友评论

          本文标题:为了面对川剧变脸一样的天气,我用Python做了一个监控天气的程

          本文链接:https://www.haomeiwen.com/subject/hpcybctx.html