考虑这样一个场景,当你在app端提交订单/登录的时候有一个滑动验证码怎么处理?
一般我们会采用自动化浏览器完成这样的抓取,但是效率太低。本篇文章尝试将滑动验证码和抓取的代码进行解耦。
也就是滑动验证码模块只管获取滑动之后的token,而抓取的代码只管抓取。中间通过相关存储介质进行通讯。
背景分析
通过各种尝试发现,某app中阿里云的滑动验证码只是操作行为的验证。
简而言之,就是阿里云只是知道有人滑了验证码,并且此验证码并没有被使用过。
通过分析和尝试,我们完全可以有一个自动化浏览器去滑动生成未使用过的token,然后通过python读取token完成相关抓取。这样相当于有个滑动验证码池,其他的业务需要的话可以直接读取使用。
准备知识
流程分析
- 使用puppeteer生成未使用过的滑动验证码,并把相关信息拦截,存起来。
- python读取滑动验证码池,完成相关抓取。