谁说程序员不懂浪漫?用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知识圈」后台回复「发短信」获取。
谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信的更多相关文章
- 用Python免费发短信,实现程序实时报警
进入正文 今天跟大家分享的主题是利用python库twilio来免费发送短信. 先放一张成品图: 代码放在了本文最后的地址中 正文 眼尖的小伙伴已经发现了上面的短信的前缀显示这个短信来自于一个叫Twi ...
- 用Python调用华为云API接口发短信
[摘要] 用Python调用华为云API接口实现发短信,当然能给调用发短信接口前提条件是通过企业实名认证,而且有一个通过审核的短信签名,话不多说,showcode #!/usr/bin/python3 ...
- python利用twilio模块给自己发短信
1.访问http://twilio.com/并填写注册表单.注册了新账户后,你需要验证一个手机号码,短信将发给该号码. 2.Twilio 提供的试用账户包括一个电话号码,它将作为短信的发送者.你将需要 ...
- 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图
明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来! 等等! 什么?! 你还没准备好七夕礼物么? 但其实你不知道要送啥? 原来又双叒叕要 ...
- 【319】Python 通过 Twilio 发短信
参考:python利用twilio模块给自己发短信 参考:使用python实现往手机发短信(基于twilio) 步骤如下: 登录 Twilio 网站注册,貌似需要***,包括用户名.密码.手机号.项目 ...
- pyhton10min系列之程序员的浪漫-足迹生成器,有视频教程
记录去过的足迹 本文为原创文章 项目主页 跪求star 程序员的浪漫,我女朋友蘑菇喜欢旅游,于是我做了这个,记录2015一起去过的地方,祝她圣诞快乐 如果觉得对你有帮助,github求个star 视频 ...
- Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 程序员如何高效学Python,如何高效用Python挣钱
本人在1年半之前,不熟悉Python(不过有若干年Java开发基础),由于公司要用Python,所以学习了一通.现在除了能用Python做本职工作外,还出了本Python书,<基于股票大数据分析 ...
- 干货分享:用一百行代码做一个C/C++表白小程序,程序员的浪漫!
前言:很多时候,当别人听到你是程序员的时候.第一印象就是,格子衫.不浪漫.直男.但是程序员一旦浪漫起来,真的没其他人什么事了.什么纪念日,生日,情人节,礼物怎么送? 做一个浪漫的程序给她,放上你们照片 ...
随机推荐
- 使用.net core3.0 正式版创建Winform程序
前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并 ...
- 【IT技术概念】WebAPI与传统的WebService有哪些不同?
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...
- 去掉文件 BOM 头
什么是 BOM? BOM 全称是 Byte Order Mark,意思是字节顺序标记.常用来当作标示文件是以 UTF-8.UTF-16 或者 UTF-32 编码的标记. 去除 BOM 头方法 vim ...
- Android适配总结
1.dp与px的 密度类型 代表的分辨率 屏幕密度 换算 比例 低密度(ldpi) 240x320 120 1dp=0.75px 3 中密度(mdpi) 320x480 160 1dp = 1px 4 ...
- 阿里云Centos操作Mysql
1. CentOS7 yum方式安装MySQL5.7 2.Centos下mysql导入sql 3.Centos设置远程 4.CentOS下mysql数据库常用命令总结 5.centos出现“Fire ...
- Spring Cloud Config Server 节点迁移引起的问题,请格外注意这一点!
前言: 虽然强烈推荐选择使用国内开源的配置中心,如携程开源的 Apollo 配置中心.阿里开源的 Nacos 注册&配置中心. 但实际架构选型时,根据实际项目规模.业务复杂性等因素,有的项目还 ...
- 基于Spring AOP实现的权限控制
1.AOP简介 AOP,面向切面编程,往往被定义为促使软件系统实现关注点的分离的技术.系统是由许多不同的组件所组成的,每一个组件负责一块特定的功能.除了实现自身核心功能之外,这些组件还经常承担着额外的 ...
- SQL SERVER数据库,按年、月、日、时、分、秒计算两个时间字段之间的间隔时间样例
使用DATEDIFF(取值,时间字段1,时间字段2) 举例: SELECT DATEDIFF(YEAR,DRYSJ,DCYSJ),* FROM YXHIS2019..TBZYBR2019 --SQL ...
- Hyper-V 下linux虚拟机静态IP上网配置的两种方式(2)
工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下设置网络共享方式: win10下使用hyper-v在本机安装linux虚拟机后,网络 ...
- SpringBoot应用进阶
一.表单验证 Controller接收一个对象数据的表单,如下: 需要对表单friend里的age属性做一个限制,如下 第一个是最小值,第二个是出错时报的错误信息 怎么知道验证结果呢?如下: 二.AO ...