51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

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

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

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

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

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

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

教程开始

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

提前准备:

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

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

如何对接腾讯云短信?

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

点击 快速入门 => 开始创建 你的短信模板 Python实现定时发送每日早报及生活指数-WordPress极简博客

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

注:图中的" 夏柔的博客 " 为你备案网站的名称 ,你备案的时候叫什么名字这里就写什么Python实现定时发送每日早报及生活指数-WordPress极简博客

审核通过后,如图所示(你添加的签名): Python实现定时发送每日早报及生活指数-WordPress极简博客

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

短信内容里的变量需要使用{1} 来代替,递增规则,从1开始。 Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

添加好后一般审核的时间在2个小时以内,不过通常十几分钟就审核完毕了。 Python实现定时发送每日早报及生活指数-WordPress极简博客

接下来进入 应用管理 => 应用列表 => 创建应用 添加SDKAppID,如图: Python实现定时发送每日早报及生活指数-WordPress极简博客

注意:点击创建后生成的SDKAppID切勿分享给别人! Python实现定时发送每日早报及生活指数-WordPress极简博客

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

下图是夏柔创建好的APPID以及密钥,切记:创建好后一定妥善保管,切勿泄漏Python实现定时发送每日早报及生活指数-WordPress极简博客

其他API申请

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

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

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

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

部署项目

首先下载源代码:
每日早报源码
登录下载
检测有效,可下载
类型: python

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

注意:一定要看图操作,别到时候说不会!!! Python实现定时发送每日早报及生活指数-WordPress极简博客

上面都弄好后,接下来弄腾讯云的相关配置信息: Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

一切都配置好后,让我们看看实际效果: Python实现定时发送每日早报及生活指数-WordPress极简博客

手机接收短信:

  • Python实现定时发送每日早报及生活指数-WordPress极简博客
  • Python实现定时发送每日早报及生活指数-WordPress极简博客

其中,文化谚语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

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

pip install tencentcloud-sdk-python

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

部署到云服务器教程

云服务器一般默认的Python 版本为2.7 ,如果你不确定的话请输入指令:python -V 查看当前版本,如图: Python实现定时发送每日早报及生活指数-WordPress极简博客

切换 Python3.8 方法如下

首先执行以下命令

wget https://cdn.wpon.cn/python/Python-3.8.1.tgz && ls

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

tar -zxvf Python-3.8.1.tgz

Python实现定时发送每日早报及生活指数-WordPress极简博客

接下来输入以下命令:

cd Python-3.8.1 && ./configure

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

make
  • Python实现定时发送每日早报及生活指数-WordPress极简博客

最后输入 make install 即可~ Python实现定时发送每日早报及生活指数-WordPress极简博客

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

mv /usr/bin/python /usr/bin/python22
ln -s /usr/local/bin/python3 /usr/bin/python

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

yum install lrzsz

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

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

修改好后,按左上角esc 键,并输入 :wq(注意有冒号)后回车即可,如图: Python实现定时发送每日早报及生活指数-WordPress极简博客 Python实现定时发送每日早报及生活指数-WordPress极简博客

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

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

yum install lrzsz

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

mkdir /pythonproject && cd /pythonproject && rz

Python实现定时发送每日早报及生活指数-WordPress极简博客

看一下文件是否已经上传了: Python实现定时发送每日早报及生活指数-WordPress极简博客

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

python weather-wpon.py

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

别忘记升级一下pip命令:

pip install --upgrade pip

然后再输入:

pip install requests

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

pip install tencentcloud-sdk-python

Python实现定时发送每日早报及生活指数-WordPress极简博客

扩展小知识

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 回车看看效果: Python实现定时发送每日早报及生活指数-WordPress极简博客

哦豁,发送成功~ Python实现定时发送每日早报及生活指数-WordPress极简博客

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

输入以下命令:

yum install crontabs

systemctl enable crond

systemctl start crond

依次输入后,查看当前crond状态,如图: Python实现定时发送每日早报及生活指数-WordPress极简博客

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

然后输入字母 i 进入编辑模式; Python实现定时发送每日早报及生活指数-WordPress极简博客

然后输入命令:

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

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

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

crontab /etc/crontab

service crond start

查看当前任务命令:

crontab -l

Python实现定时发送每日早报及生活指数-WordPress极简博客

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

这是夏柔今天早上6点收到的短信: Python实现定时发送每日早报及生活指数-WordPress极简博客

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

 .---------------- 分钟 (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 * * * 命令

最后,如有不懂的地方,记得联系夏柔QQ:15001904

都是原创,大量原创,转载请注明来源~万分感谢!

赞(0)
未经允许不得转载:工具盒子 » Python实现定时发送每日早报及生活指数