zoukankan      html  css  js  c++  java
  • 谁说程序员不懂浪漫?用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元一年,平时用来放放小工具,做个人网站是非常划算的。

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

  • 相关阅读:
    [转]SQL Server中的执行引擎入门
    [转]C# 导入导出Excel通用类(SamWang)
    【转】TSQL查询进阶—理解SQL Server中的锁
    [转载]使用分页方式读取超大文件的性能试验
    【总结】读《WEB三层架构的束缚》后的感想
    【转】jQuery使用 $.post提交json数据
    【原创】关于索引的总结
    【转】.net 匿名函数的变化
    【转】List<T>的Sort,Find,Exists等的使用
    【转】Http中Get/Post请求区别
  • 原文地址:https://www.cnblogs.com/pythoncircle/p/11790463.html
Copyright © 2011-2022 走看看