谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信

前言

之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具 天气变冷了,给父母制作一个天气提醒小助手 ,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法实现这个功能,这位读者建议,建议用发短信的方式,这样,就不会受限于微信的限制。

这是一个好方法,今天的教程就是教大家怎么发送免费短信给女朋友。

发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信 500 条,可发任意信息,一个是腾讯云,可以免费发短信 100 条,需要申请短信发送内容模板。

鉴于 twilio 免费次数多一些,所以,这次我们就 twilio来发送当天的天气信息给爸妈了。

twilio注册

要发送短信,我们需要现在 twilio 官网注册一个账号。

https://www.twilio.com/

点击 Sign Up 注册一个账号。

填写邮箱和密码等资料,提交后会有一个判断是否为机器人的验证,点击左右箭头使图案显示为正图就可以了。

再到刚才填写的邮箱中去验证下,需要填入手机号验证。

刚开始用了移动号发了两次都没有收到验证码,不知道什么原因,之后换了电信后就收到了验证码。

验证成功后会提示选择是否通过代码调用。

选择 yes 后再选择对应的语言,我们当然是选择 Python 了。

获取试用号

选择使用用途后,可以就可以获取一个试用的号码了,点击 Get a Trial Number 按钮。

我们可以看到系统给我提供的这个号码。

点击确定后就会出现成功的页面,显示 Twilio 提供的号码,这个号码就是用来发送短信的。

获取号码成功后自动跳回到主页,下方有 Python 调用短信接口的示例。

进入接口调用说明后,我们看到右边直接由 Python 调用接口发短信的示例。

我们直接拿来用即可,把代码中 account_sid 和 auth_token 替换成自己的,这个两个值在刚才显示号码那个页面。

再把 message 中的 body 换成你自己的文本,把发送信息的号码换成刚官方提供的号码。

接收号验证

接收号码在使用前,需要在 Twilio 上验证下,点击右侧的 verified numbers 进入,添加号码。

因为这是免费版,所以只支持一个号码,如果之前有验证号码的话,我们需要点击右侧的 X 把这个号码号码删除才能添加新的号码。

点击验证号码的按钮后,在弹出的页面选择左下方的 text you instead,也就是用短信验证码来验证新添加的号码,你要发给女朋友,当然,这个接收的号码都填女朋友的了。

填入号码后,点击验证,等待验证码。

我分别试了移动号、联通号、电信号,发现电信号和联通卡能正常收到验证码通过验证,移动号发了几次都收不到验证码,卡里是有余额的,可能是移动卡不支持这个接口,大家可以试试。

代码调试

运行代码前,不要忘了把 twilio 库用 pip 命令安装下。

pip install twilio

然后把代码中的几个值替换成自己的。

把刚才验证成功的号添加到代码中,运行代码,成功后就会收到发送的短信。

然后我们把之前的天气信息用短信发出去,当然你可以发送其他信息。这里我用之前的天气信息。

之前的代码中把微信相关的去掉,天气接口部分保留。

把其中的 key 换成自己的,具体操作详见这篇文章 天气变冷了,给父母制作一个天气提醒小助手

把刚才发送短信的内容替换成天气接口返回的信息 msg,定时操作的代码和之前一样。

运行代码后的效果如下:

同样,我还是把程序放在服务器上,第二天同一时间会继续发送当天的天气信息,我设置的是相隔 24 小时,当然,你可以改变相隔时间。

没有服务器的小伙伴可以看看腾讯云的双十一活动价了,88元一年,平时用来放放小工具,做个人网站是非常划算的,购买地址: 腾讯云1核2G,1年88元

本文全部代码在公众号「Python知识圈」后台回复「发短信」获取。

欢迎关注公众号「Python知识圈」,公众号后台回复关键字,获取更多干货。

回复「英语」:送你英语 7000 单词速记法,亲测非常有效。

回复「编程」:免费获赠2019最新编程资料,认真学完BAT offer 拿到手软。

回复「赚钱」:领取简单可实操的 36 个赚钱的小项目,每天多赚100块零花钱。

回复「电子书」:免费送你10本Python电子书。