验证码识别(1)

记录自己遇到的反爬策略与如何处理(使用python3)。

验证码类型如下图所示:


验证码识别(1)_第1张图片

处理思路:

1、抓包分析,找到请求验证码图片的url;

2、请求验证码图片(可能需要构造参数),获取响应。

     (1)我这里返回结果是一个json,图片是base64编码的一串字符串。将第一、二张图                    片分别保存:

              #解码图片

              import base64

              base64.b64decode('base64编码的图片字符串')

3、使用PIL模块处理保存的两张图片,通过复制、粘贴,将要求、第一、二张图片合成打码        平台(我用的打码平台需要合成一张图片)的一张图片,结果如下图:


验证码识别(1)_第2张图片
注:可以预先准备一张背景图片,内容是除去红框中内容剩下的内容。windows下打开绘图工具,查看下A、B各自所在的像素坐标位置,将两张图片分别粘贴到对应位置即可。

4、调用打码平台demo,利用打码平台识别验证码,返回一串坐标。此处要注意,打码平台        识别的坐标是要识别的目标'字'在合成后的图片中的像素坐标,正确的坐标应该是目                标‘字’在上图绿框中的像素坐标位置,打开绘图工具,查看像素坐标,减掉偏移量即可。

5、将识别后的坐标提交到服务器。

你可能感兴趣的:(验证码识别(1))