阿里验证码识别(阿里云账号注册步骤)

考虑这样一个场景,当你在app端提交订单/登录的时候有一个滑动验证码怎么处理?

一般我们会采用自动化浏览器完成这样的抓取,但是效率太低。本篇文章尝试将滑动验证码和抓取的代码进行解耦。

也就是滑动验证码模块只管获取滑动之后的token,而抓取的代码只管抓取。中间通过相关存储介质进行通讯。

背景分析

通过各种尝试发现,某app中阿里云的滑动验证码只是操作行为的验证。

简而言之,就是阿里云只是知道有人滑了验证码,并且此验证码并没有被使用过。

通过分析和尝试,我们完全可以有一个自动化浏览器去滑动生成未使用过的token,然后通过python读取token完成相关抓取。

这样相当于有个滑动验证码池,其他的业务需要的话可以直接读取使用。

准备知识

puppeteer破解阿里h5滑动验证码

chrome远程调试webview(
https://developers.google.cn/web/tools/chrome-devtools/remote-debugging/webviews?hl=zh-cn)

流程分析

使用puppeteer生成未使用过的滑动验证码,并把相关信息拦截,存起来。python读取滑动验证码池,完成相关抓取。

效果展示

爬虫 | 破解APP中阿里云滑动验证码爬虫 | 破解APP中阿里云滑动验证码
爬虫 | 破解APP中阿里云滑动验证码爬虫 | 破解APP中阿里云滑动验证码
爬虫 | 破解APP中阿里云滑动验证码爬虫 | 破解APP中阿里云滑动验证码

核心代码

puppeteer 通过监听response事件,把response的内容存起来

page.on('response',asyncresponse=>{
leturl=response.url()
if(url.indexOf('analyze.jsonp')!==-1){
letcontent=awaitresponse.text()
if(content.indexOf('block')===-1){
letfile_name="slide/"+process.pid+Date.now()+".txt"

fs.writeFile(file_name,content+url,{encoding:'utf-8',mode:'0666'},function(err){
console.log(err)
})

}
}
})

python读取存储的token

爬虫 | 破解APP中阿里云滑动验证码爬虫 | 破解APP中阿里云滑动验证码

滑动验证码的token有3个字段,分别是csessionid,value,t(t的格式是xxx:时间戳:随机数)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至624739273@qq.com举报,一经查实,本站将立刻删除。
Like (0)
柳的头像

相关推荐

发表回复

Please Login to Comment
微信
微信
SHARE
TOP
要想花得少,就用购宝。话费电费9折起,官方公众号:购宝