Python爬虫验证码识别——手机验证码的自动化处理

短信验证码的收发

通常,我们的自动化脚本运行在PC上,例如打开一个网页,然后模拟输入手机号,点击获取验证码,接下来就需要输入验证码了。前三个流程自动化很容易,但验证码发送到手机上了,怎么把它转给PC呢?

自动化验证码的整个收发流程,可以这么实现——当手机接收到一条短信时,自动将这条短信转发至某处,例如转发至一台远程服务器或者直接发给PC,在PC上我们可以通过一些方法获取短信内容并提取验证码,再自动化填充到输入的地方即可。

关键步骤是如下两步:

监听手机收到短信的事件

将短信内容转发至指定的位置

这两步缺一不可,而且都需要再手机上完成。思路其实简单,以Android手机为例,如果有Android开发经验,这两个功能实现起来很简单的。

首先如何监听手机接收到的短信呢?在Android开发中,分为三个必要环节。

注册读取短信的权限:在一个Android App中,读取短信需要具备特定的权限,所以需要在Android App的AndroidManifest.xml文件中将读取短信的权限配置好,例如:

注册广播事件:Android有一个基本组件叫BroadcastReceiver,是广播接收者的意思,可以用它来监听来自系统的各种事件广播,例如系统电量不足的广播、系统来电的广播,那系统接收到短信的广播自然也不在话下。这类似于注册一个监听器来监听系统接收到短信的事件。这里我们在AndroidManifest.xml文件中注册一个BroadcastReceiver,叫做SmsReceiver:

实现短信广播的接收:这里就需要真正实现短信接收的逻辑了,只需要实现一个SmsReceiver类,它继承了BroadcastReceiver类,然后实现其onReceive方法即可,其中intent参数里就包含了我们想要的短信内容,实现如下:

public class SmsReceiver extents BroadcastReceiver{


华硕售后重装系统多少钱?华硕笔记本免费重装系统攻略
二、约会