Python实现定时发送每日早报及生活指数

你可能每天都会去看女朋友的当天气温如何,并天天都在嘘寒问暖;

可能某一天的你早上起来忘了这件事情,女朋友就会大闹说你不关心她了…

为了杜绝这种事情再次发生,给大家写了一个Python自动化推送生活早报的脚本~

当你拥有了这款Python每日早报脚本,你的女朋友一定会越来越爱上你!

(此处省略一万个营销文字….)

教程开始

本篇教你实现全自动推送每日早报,对接腾讯云短信

提前准备:

  • 云服务器1台
  • 腾讯云短信包(1000条)

温馨渣男提示:一天一条,一年360条整计算,你可以同时找3个女朋友左右~

如何对接腾讯云短信?

首先来到腾讯云短信控制台(立即前往)如图:

点击 快速入门 => 开始创建 你的短信模板

图片[1]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

第二步如实填写相关信息即可;

注:图中的“ 陆捌小站 ” 为你备案网站的名称,你备案的时候叫什么名字这里就写什么

图片[2]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

审核通过后,如图所示(你添加的签名):

图片[3]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

接下来前往 国内短信 => 正文模板管理 添加短信模板;

短信内容里的变量需要使用{1} 来代替,递增规则,从1开始。

图片[4]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

给大家分享几个我的短信模板

  • 叮咚~今日份早报指数请查收:当前城市:{1},穿衣指数:{2},化妆指数:{3},心情指数:{4},运动指数:{5}
  • 叮咚~,今日份早报请查收:您当前所在的{1} 室外温度:{2},穿衣指数:{3};
  • 叮咚~,今日份早报请查收:您当前所在的{1} 室外温度:{2},穿衣指数:{3};最后送你一段文化谚语:{4},{5}。
  • 早上好呀主人,{1}的今日穿衣指数:{2},室外温度:{3}。

添加好后一般审核的时间在2个小时以内,不过通常十几分钟就审核完毕了。

图片[5]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

接下来进入 应用管理 => 应用列表 => 创建应用 添加SDKAppID,如图:

图片[6]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

注意:点击创建后生成的SDKAppID切勿分享给别人!

图片[7]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

然后访问Api密钥管理控制台立即前往),创建你的APPID以及密钥;

下图是站长创建好的APPID以及密钥,切记:创建好后一定妥善保管,切勿泄漏

图片[8]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

其他API申请

其中每日早报(包含天气、生活穿衣指数、文化谚语等需要另申请Api);

全国天气预报、生活穿衣指数申请网站:https://www.jisuapi.com/api/weather/

文化谚语申请网站:https://www.tianapi.com/apiview/128

这些接口都是付费的,如果你不想花钱的话,联系站长QQ:1146869513 免费赠送密钥哦~

部署项目

首先下载源代码:

使用 vscode 或者 Pycharm 打开此实例(啥都没有直接文本打开):

注意:一定要看图操作,别到时候说不会!!!

图片[9]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

上面都弄好后,接下来弄腾讯云的相关配置信息:

图片[10]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

SecretId、SecretKey 获取入口:https://console.cloud.tencent.com/cam/capi

SDKAppID 获取入口:https://console.cloud.tencent.com/smsv2/app-manage

APPID 获取入口:https://console.cloud.tencent.com/smsv2/csms-sign

信模板 获取入口:https://console.cloud.tencent.com/smsv2/csms-template

(称得上保姆级教学了…)

一切都配置好后,让我们看看实际效果:

图片[11]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

其中,文化谚语API代码:

# 文化谚语
url = 'http://api.tianapi.com/proverb/index?key=你的密钥'
response = requests.get(url)
res = json.loads(response.text)
# res_2 = res.decode('utf-8')
yan_shangju = res['newslist'][0]['front']
yan_xiaju = res['newslist'][0]['behind']

生活指数:

# 生活指数
url = 'https://api.jisuapi.com/weather/query?appkey=你的密钥&city=沈阳'
response = requests.get(url)
res = json.loads(response.text)
# 获取当前城市
wpon_city = res['result']['city']
# 获取当前城市的温度
wpon_temp = res['result']['temp']
# 获取当前城市的穿衣指南
wpon_detail = res['result']['index'][6]['detail']
# 获取前12句
wpon_detail2 = wpon_detail[0:12]

部署教程

注:使用Pycharm工具,Python3.8版本

首先在终端打开当前项目路径,并输入:

pip install requests

输入命令后出现上面的报错,则是pip命令版本需要升级,在终端输入:pip install –upgrade pip 即可

接下来输入腾讯云模块包命令:

pip install tencentcloud-sdk-python

若没有红色波浪线则代表所有模块包已经安装完毕;

接下来直接运行实例项目即可。

云服务器一般默认的Python版本为2.7,如果你不确定的话请输入指令:python -V 查看当前版本,如图:

部署到云服务器教程

云服务器一般默认的Python版本为2.7,如果你不确定的话请输入指令:python -V 查看当前版本,如图:

图片[12]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

切换 Python3.8 方法如下

首先执行以下命令

wget --no-check-certificate https://cdn.wpon.cn/python/Python-3.8.1.tgz && ls
图片[13]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

右边的 Python-3.8.1.tgz 复制到剪贴板,然后在命令行输入:

tar -zxvf Python-3.8.1.tgz
图片[14]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

接下来输入以下命令:

cd Python-3.8.1 && ./configure
图片[15]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

然后输入 make 命令(有可能会慢一点,这个时候可以多看看上面的教程认真读一读):

图片[16]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

最后输入 make install 即可~

图片[17]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

然后直接复制粘贴以下命令到服务器上

mv /usr/bin/python /usr/bin/python22
ln -s /usr/local/bin/python3 /usr/bin/python
图片[18]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

现在可以看到我们的Python版本已经切换到了3.8

现在,上传脚本,输入以下命令:

yum install lrzsz
图片[19]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

提示图中报错,请进入 /usr/bin/yum 、/usr/libexec/urlgrabber-ext-down 文件中的第一行为#!/usr/bin/python2.7 即可解决

命令:vi /usr/bin/yum 、vi /usr/libexec/urlgrabber-ext-down

然后输入字母 i 进入编辑模式;

修改好后,按左上角esc键,并输入 :wq (注意有冒号)后回车即可,如图:

图片[20]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题
图片[21]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

现在可以看到,已经可以使用 yum 命令了

接下来输入上面 安装rz命令:

yum install lrzsz

安装好后,输入以下命令创建目录,并上传你的python项目,如图:

mkdir /pythonproject && cd /pythonproject && rz
图片[22]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

如果输入rz命令,终端很慢的话,可以手动将下载下来的python文件上传到刚刚创建的这个文件夹里

现在让我们尝试运行一下,输入以下命令并回车:

python weather-wpon.py
图片[23]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

啊哦,缺少 requests 模块包,输入 pip install requests 即可解决~

别忘记升级一下pip命令:

pip install --upgrade pip

然后再输入:

pip install requests

最后,再把腾讯云模块包安装上:

pip install tencentcloud-sdk-python
图片[24]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

扩展小知识

WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

上文黄色的警告只是提醒你创建一个虚拟环境去运行pip命令,否则容易搞乱系统环境,如果你是小白的话,这个可以完全忽略。

现在,惊人激动的时刻到了;

输入命令 python weather-wpon.py 回车看看效果:

图片[25]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

哦豁,发送成功~

图片[26]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

如何实现自动发送短信推送?

输入以下命令:

yum install crontabs 

systemctl enable crond 

systemctl start crond

依次输入后,查看当前crond状态

开始设置新任务,输入命令:vi /etc/crontab 并回车;

然后输入字母 i 进入编辑模式;

图片[27]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

然后输入命令:

* 6 * * * cd /pythonproject && python weather-wpon.py

修改好后,按左上角esc键,并输入 :wq (注意有冒号)后回车即可,如上图

然后输入以下命令,并重启 cornd :

crontab /etc/crontab
service crond start

查看当前任务命令:

crontab -l
图片[28]-Python实现定时发送每日早报及生活指数-Python交流社区-开发交流-Wordpress主题模板-zibll子比主题

现在,每天凌晨6点推送短信早报已经大功告成~

如果需要设置其他时间段,请参考以下文档:

 .---------------- 分钟 (0 - 59) 
| .------------- 小时 (0 - 23) 
| | .---------- 每月的第几天 (1 - 31) 
| | | .------- 每年的几月 (1 - 12) OR jan,feb,mar,apr ... 
| | | | .---- 每周 (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
| | | | | 

设置什么时间发送,就设置哪块;

* 6 * * * 命令

原文地址:陆捌小站社区

请登录后发表评论