Python 新手爬虫之七:免费的短信接口

这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战

上一篇文章我们详细的讲解了如何购买短信服务提供商的短信服务,并且做了一个天气预报的短信通知小服务。但是,使用国内的短信服务提供商提供的短信接口是收费的。那么,有没有“天上的馅饼”——免费的短信接口呢?答案当然是——YES!今天我们就来学习2种免费的短信发送方式。
注意!本文涉及到的2种免费短信接口都存在一定的限制,我会在文章中穿插说明,同时在本文的总结中进行说明。阅读本篇文章前,你可以直接到总结处查看接口的限制条件。

Twilio——为开发者服务的API网站

Twilio是国外一个云通信平台,已经在纳斯达克上市。它允许软件开发人员以编程的方式拨打和接听电话。Twilio为我们提供了一个免费但是有部分限制的接口。本文首先使用Twilio的免费接口进行讲解。

注册并验证信息

为了保证注册顺利,您可能需要科学上网。

首先我们进入Twilio的首页,点击Get a free API key,进入注册界面。

photo1.png
在注册页面,您可以按照下面的提示进行注册。

photo2.png
在点击提交后,系统会发送一条验证信息到您的手机上,直接输入验证码即可。

配置后台

如下图所示,创建应用后,我们进入CONSOLE后台,Twilio为了发送短信,会为我们分配一个手机号码。

photo3.png
我们点击Get a number后,系统会随机分配给我们一个用来发送信息的号码:

photo4.png
在确认系统的手机号码后,系统会跳转到一个网页测试页面。这里我们可以直接输入一些简短的信息,测试手机是否能够发送成功。同时右边也提供了对应的代码,方便我们浏览。

photo5.png
我们点击make requests,系统会帮我们发送一条测试短信至我们的手机中。如果你的手机上收到了对应的短信,说明配置成功。接下来我们开始正式的开发工作!

开发配置
  1. 配置库

首先我们要安装Twilio提供的Python 库 twilio

pip install twilio

  1. 浏览开发文档

Twilio官网为我们提供了丰富的接口文档,让我们浏览一下Python接口实例文档。里面提供了一个发送短信的DEMO,而且使用的Python 版本是3.x,因此本次开发,我们无需考虑Python 2.x 的转换。

注意!使用接口之前,请务必保证你的手机号码已经在Twilio中进行了验证,否则将发送失败!
你可以在手机号码验证查询你的手机是否被加入到了Twilio中进行了验证!

  1. 配置用户信息

我们注意到,开发文档中,需要我们提供对应的ACCOUNT SIDAUTH TOKEN,我们前往CONSOLE页面,注意到右上方,有我们需要的对应的字段信息:

photo6.png
4. 开发测试
让我们修改一下代码,尝试使用免费的接口,发送短信到我们的手机号码上:

from twilio.rest import Client
# Your Account SID from twilio.com/console
account_sid = "AC141778d2eed2ba022112c91157426103"
# Your Auth Token from twilio.com/console
auth_token  = "your_auth_token"
client = Client(account_sid, auth_token)
message = client.messages.create(
    to="+15558675309", 
    from_="+15017250604",
    body="你好,世界!")
print(message.sid)
复制代码

让我们稍等…..是不是发现你的手机还没有收到短信?Yes!Twilio提供的免费接口,暂不支持中文短信!因此让我们修改一下发送的内容body中的内容为英文,然后再尝试发送一次:

photo7.png
这下次正常啦!手机很快收到了对应的短信。

139邮箱——不仅仅是邮箱这么简单

139邮箱是由中国移动为中国移动用户提供的一项邮箱服务,但是目前任何人都可以免费申请(移动用户默认开通该邮箱)。我们可以使用它的邮件提醒服务:发送邮件至我们的139信箱,然后由139信箱通过短信发送到我们的手机上,达到免费短信接收的效果。

为了使用邮件提醒服务,请在申请139邮箱时,务必绑定对应的手机号码

注册139邮箱后,我们首先登陆到邮箱首页,依次点击设置->邮箱过滤及提醒,进入提醒配置页面,短息显示方式选择分开显示,然后保存配置:
photo8.png

修改天气预报代码

  1. Twilio发送短信

为了匹配Twilio的SDK,我们需要改写发送短信部分的代码:

from twilio.rest import Client
account_sid = ""
auth_token  = ""
client = Client(account_sid, auth_token)
def send_sms(to_number,from_number,sms_text):
    message = client.messages.create(
        to=to_number,
        from_=from_number,
        body=sms_text)
    print(message.sid)
复制代码
  1. 139邮箱发送短信

忘了我们之前用发送邮件的代码了吗?没错!直接使用之前的代码就可以啦!

总结

  1. 本文介绍了两种免费的短信接口,方便手头有些紧的同学们也能够享受到短信提醒的服务。毕竟我们最终要做的,是一种短息提醒的服务;
  2. Twilio不支持中文短信,同时必须验证手机号码后才能进行发送;139信箱必须注册并配置好邮件提醒功能才能收到对应的短信消息;
  3. 文本中并没有详细介绍通过139邮件发送短信,因为在撰写课程时,就考虑到了程序的可拓展性,封装了每一个函数。希望大家学完后,拿出之前写过的邮件发送的代码,尝试使用139给手机发送一条短信。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享