Python3定时短信获得天气

2023-01-31 00:01:14 定时 天气 短信

脚本链接:https://GitHub.com/Mrlshadows/getWeather

python环境为 python3

两个api

注册后即可使用免费版本的服务

  • 心知天气

Https://www.seniverse.com/

  • twilio

https://www.twilio.com/

twilio记得要在控制台获得一个手机号才能设置相应的信息。

安装twilio

终端执行如下指令:

  1. pip3 install twilio

运行脚本

编辑脚本更改将值对应修改:

  1. # 设置心知天气的apikey
  2. apikey = "--此处为私钥--"
  3. # 设置twilio账户信息
  4. twilio_account_sid = "--twilio_account_sid--"
  5. twilio_auth_token = "--twilio_auth_token--"
  6. # 发送短信的指令
  7. client.messages.create(to=phone, from_="--twilio_phone--", body=message)
  8. # 编辑接收人的信息,国内电话记得加 +86
  9. name = "--你的名字--"
  10. phone = "--你的手机号--"
  11. location = "shanghai"

修改后终端运行该脚本:

  1. Python3 get_weather.py

运行成功后片刻你的手机便收到短信了。

定时执行脚本

MacOS和linux都可以使用crontab达到此效果。

终端运行指令:

  1. crontab -e

此时进入了vim编辑器的界面。

举个例子,我想要每天早上6点钟收到天气的消息,编辑器内输入内容为:

  1. # 第一列为执行脚本的分钟数
  2. # 第二列为执行脚本的小时数
  3. # 第三列为执行脚本的日,* 为通配符,表示全部
  4. # 第四列为执行脚本的月,* 为通配符,表示全部
  5. # 第五列为执行脚本的星期,* 为通配符,表示全部
  6. # 第六列为到达条件后要执行的命令
  7. 0 6 * * * python3 脚本的路径/get_weather.py

保存后退出,提示terminal要获得全部权限,是 terminal显示已经安装

检验定时器是否添加成功

终端输入如下指令:

  1. crontab -l

若是终端输出显示了你编辑的命令即添加成功

提示

给非注册twilio的手机号发短信

需要进入控制台设置。

点击网页右边蓝色的链接 verified numbers。 添加相应的手机号 手机号语音认证或手机验证码认证

睡眠状态后crontab失效

睡眠状态后crontab不再定时执行脚本。

总结

写代码也可以进行资源整合,实现相应的功能,达到预期的目标即可。

代码改变世界。

参考

https://zhuanlan.zhihu.com/p/22273281

https://www.linuxidc.com/Linux/2014-01/95612.htm

相关文章