本帖最后由 华少 于 2021-04-24 23:02 编辑
既然是重复性工作,还是自动化实现吧,省事
做了代码简化,非常简单,四步走,不需要懂代码就能搞定。 分享给大家 (最下方有问答环节,回答了大部分朋友的问题,想动手做的朋友先看看!!!)
python3.6 + 腾讯云函数 + qmsg酱 + 和风天气
教程:
1、Qmsg酱:
打开官网:https://qmsg.zendee.cn/index.html - 登录管理台,拿到key,留着一会用
- qq号码 中,添加上要接受信息的qq
- 在 Qmsg酱 中选个qq加上,收消息用
2、和风天气:
打开官网:https://console.qweather.com/ 注册登录填写信息,拿到key,留着一会用
3、本地建个记事本,把代码复制进去,进行修改
import requests import json from requests.packages.urllib3.exceptionsimport InsecureRequestWarning # 禁用安全请求警告 requests.packages.urllib3.disable_warnings(InsecureRequestWarning) global contents contents= '' # 北京 def sign(): yburl= 'https://free-api.heweather.com/s6/weather/forecast' value= { 'location':'北京', 'key':'【和风天气的key】', 'lang':'zh' } ybreq= requests.get(yburl, params=value) ybjs= ybreq.json() # 返回api参数: # print(ybjs) for iin range(2): yb= ybjs['HeWeather6'][0]['daily_forecast'] d1= yb[i]['date']+ ' ' + yb[i]['cond_txt_d']+ ' ' + yb[i]['tmp_min']+ '—' + yb[i]['tmp_max']+ '℃' + ' ' + yb[i]['wind_dir'] + ' ' + yb[i]['wind_sc']+ '级' # output(d1) # qq推送 qqtalk= 'https://qmsg.zendee.cn/send/【qmsg的key】?msg=' + d1+ '&qq=【接收消息的qq号】' requests.get(qqtalk) def main(): sign() def main_handler(event, context): return main() if __name__== '__main__': main()
- 修改16行【和风天气的key】,替换成 2 中拿到的key
- 修改30行【qmsg的key】,替换成 1 中拿到的key
- 修改30行【接收消息的qq号】,第一步中,加qq的你自己的号
- 修改15行 北京 ,成你自己的地理位置(以市为单位) 例如:上海
- 25行,数字为2,发送明天的,数字改为1,发送今天的。这里我是每天晚上发明天的天气信息,所以是2,如果你要早上发,改为1
- 发送的消息中,带有日期,我觉得没用,建议测试完成后删除,删除代码27行中的
即可。加上是为了给你测试发送的日期对不对用的,不对的话按照上一步进行修改。
4、腾讯云函数:
打开腾讯云函数登录:https://console.cloud.tencent.com/scf/list
- 函数服务——新建——自定义创建
- 运行环境改为python3.6
- 代码复制进去
- 往下拉到底,触发器配置——自定义创建,触发周期改为自定义,Cron表达式改为下方这一段,21是21点,想要早上6点触发就改为6,其他不要动。
- 最下方,点完成,跳转管理
5、测试是否完成:
进函数代码,下拉,有个部署测试,点击测试,qq收到消息,完成。
运行成功:
至此,自动化发送天气信息就完成了,撸铁打游戏时间又多了
问答环节(必读): 我发现有很多人想微信推送,我并不建议微信推送,因为不好用,我自己的代码里有钉钉、微信(server酱)、qq(Qmsg),三种推送方式,我截取了qq这一种做了简化给大家分享出来,因为这个最好用,能清晰的看到相对于前几天的天气情况,从而作出判断,很直观的感受。但是微信的话,用过server酱的都知道,没那么方便。
微信比较麻烦,会的人自己改一下,不会的话别折腾了
手机是有,会忘记看,但 qq消息一定会看。
能执行就不用管,云函数环境和本地不太一样
可以,有另一个接口,根据天气情况进行提取对应的话,我觉得比较生硬且影响效率就没加,想加的去看一下自己改
已经有人交作业了,所以步骤和代码都没问题,仔细检查一下是不是漏了某个步骤。
|