记录自己遇到的反爬策略与如何处理(使用python3)。
验证码类型如下图所示:
处理思路:
1、抓包分析,找到请求验证码图片的url;
2、请求验证码图片(可能需要构造参数),获取响应。
(1)我这里返回结果是一个json,图片是base64编码的一串字符串。将第一、二张图 片分别保存:
#解码图片
import base64
base64.b64decode('base64编码的图片字符串')
3、使用PIL模块处理保存的两张图片,通过复制、粘贴,将要求、第一、二张图片合成打码 平台(我用的打码平台需要合成一张图片)的一张图片,结果如下图:
4、调用打码平台demo,利用打码平台识别验证码,返回一串坐标。此处要注意,打码平台 识别的坐标是要识别的目标'字'在合成后的图片中的像素坐标,正确的坐标应该是目 标‘字’在上图绿框中的像素坐标位置,打开绘图工具,查看像素坐标,减掉偏移量即可。
5、将识别后的坐标提交到服务器。