前言

前短时间夜幕团队的哲哥带来一个强大的库,一个验证码识别库 ddddocr,小编第一时间看到后就收藏了,最近有空就找了一个例子来试试。

这次是某卡网站的登录,在试验这个库时,顺便教大家验证码怎么获取,因为有一种验证码定位到验证码链接后,去请求链接下载,再去识别下载后的本地图片,即使识别的结果与下载的一样,但就是不能登录。

其次 ddddocr 这个库比较适用如下的这种验证码识别,小编与某度的 OCR 对比,效果好太多了:

验证码获取

打开登录网页,这个登录页面初始页面显示的是动态手机密码登录,且是没验证码的,我们需要使用账号密码登录,及验证码出现流程如下:

1.点击手机密码登录

2.输入账号,密码

3.点击登录,这时验证码才会弹出

4.识别填写验证码

5.再次点击登录,完成整个流程

现在我们就来解刨这个流程,打开开发者工具定位到验证码元素,可看到对应的链接:

从上图看出,链接显示的验证码码与输入框那里的验证码一致。

好,到这里一般是直接请求这个链接,把验证码下载到本地,进行识别,在把验证码提交上去,登录,这思路没有错,一个链接对应一个验证码,有很多网站就这样的。

但有一些网站,这样做是不行的,一个链接对应多个验证码,我们打开链接,进行对比,会发现,链接一样,打开的验证码与输入框显示的不一样:

前端显示的是 bcdz,而链接打开后显示却是 FYUW,两个不一样的结果,拿 FYUW 输入框中,是可以登陆成功的,这里就不放成功跳转的截图了,不信的话可试试:

现在来解释一下为什么,学过计算机网络的话,理解应该方便点,就是一个握手协议,。

打开浏览器,打开登录网页,pc 端会携带一个 cookie 给对方,相当于握上手了,连接上了。

cookie 作为此次请求这个网站的标识,当点击登录验证码弹出时,这个验证码也是通过这个握手连接对应此次登录需要的验证码。

尽管显示的不一样,但都是在此次握手的通道中,所以可以用不一样的验证码输入进去登录上。

如果得到验证码链接,直接使用 requests 去请求下载验证码,相当于重新打开一个浏览器去访问,重新建立了一个握手通道,所以识别出来的码不能使用。

获取思路

思路也是比较简单的,可以使用 selenium 进行操作,提交账号密码都是常规操作。

主要的是验证码,先获取验证码链接,再在同一个浏览器中打开一个新窗口,在新窗口中打开验证码链接,这样就保证了验证码与此次登录页面在同一个通道中。

然后使用 pyautogui 库自动右键保存图片,操作部分代码:

保存下来图片后,就可以使用强大的 ddddocr 进行识别了,小编使用的体验挺不错,简介方便,准确度高,;某度的 OCR 调用又麻烦,识别准确度巨低。

一个效果视频如下,完整代码回复关键词获取。

源码获取

在公众号对话框回复关键字“卡卡”即可获取

END

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注小编呗~小编给你分享爬虫,数据分析,可视化的内容噢~

扫一扫下方二维码即可关注我噢~

-END-

某卡验证码获取识别登录相关推荐

  1. Python - WebDriver 识别登录验证码

    Python - WebDriver 识别登录验证码 没什么可说的直接上代码! #-*-coding:utf-8-*- # Time:2017/9/29 7:16 # Author:YangYangJ ...

  2. python---POST/GET请求数据包,图片验证码自动化识别,pytesseract,模拟用户一次正常登录

    python-POST/GET请求数据包,图片验证码自动化识别,pytesseract 项目内容: 模拟用户正常登录Binzcms系统,对登录Binzcms系统进行自动化识别图片验证码,使用get与p ...

  3. Jmeter识别登录验证码_使用百度AI图片识别技术

    Jmeter识别登录验证码_使用百度AI图片识别技术 一.环境准备 1.下载并引用以下Jar包 2.将下载的jar包放至Jmeter中的lib目录中即可使用 二.使用步骤 1.在获得验证码的请求后使用 ...

  4. 用selenium模拟登录魅族官网(针对于点触点选验证码的识别)

    博主是爬虫菜鸡,对于验证码的识别这一块内容是十分的无力,最近按照崔庆才老师的<python3网络爬虫开发实战进行学习>,由于操作系统与老师的不同,技术更新快等多种因素,光是对老师书中的代码 ...

  5. Python识别登录验证码

    Python识别登录验证码(附完整代码) [项目介绍] 网络迅速在人类生活中扎根,我们每天都会不可避免地接触大量网站和碎片化的信息,为了保护用户的账号安全和防止信息泄露,很多网站通行的方式是设置登录验 ...

  6. 爬虫三(Bs4搜索、Selenium基本使用、无界面浏览器、Selenium自动登录百度案例、自动获取12306登录验证码案例、切换选项卡、浏览器前进后退、登录Cnblogs获取Cookie自动点赞)

    文章标题 一.Bs4搜索文档树 二.CSS选择器 三.selenium基本使用 四.无界面浏览器 五.selenium其他使用 1)自动登录百度案例 2)获取位置属性大小.文本 3)自动获取12306 ...

  7. 前端获取验证码、手机号登录、注册功能

    07.前端获取验证码.手机号登录.注册功能 Register.vue <template><div class="register"><div cla ...

  8. Python网络爬虫开发实战,微博宫格验证码的识别

    本节我们来介绍一下新浪微博宫格验证码的识别,此验证码是一种新型交互式验证码,每个宫格之间会有一条指示连线,指示了我们应该的滑动轨迹,我们需要按照滑动轨迹依次从起始宫格一直滑动到终止宫格才可以完成验证, ...

  9. Class 18 - 1 图形验证码的识别

    一.图形验证码的识别 先将验证码的图片保存到本. 打开开发者工具,找到验证码元素.验证码元素是一张图片,src 属性是 CheckCode.aspx.打开链接 http://my.cnki.net/e ...

最新文章

  1. python运行程序-一文看懂python程序的执行过程
  2. 给转型做技术的同学的一些建议
  3. linux 关掉蓝牙自动,如何在Ubuntu 14.04中默认关闭蓝牙,蓝牙
  4. 算法总结-1算法入门
  5. java if else重构_java – 如何重构这个有多个if / else语句的方法
  6. 深入研究微服务架构——第三部分
  7. Git 常用命令 和 安装
  8. Memory Monitor
  9. 论如何优雅的处理回文串 - 回文自动机详解.
  10. Idea设置炫酷主题+设置背景图片
  11. 动作识别-Regularization on Spatio-Temporally Smoothed Feature for Action Recognition-CVPR2020
  12. r730服务器安装系统蓝屏6,安装系统蓝屏解决解决方法
  13. (生物信息学)R语言绘图初-中-高级——3-10分文章必备——Venn图(韦恩图)(初级)
  14. mac笔记本常用快捷键
  15. matlab批量导入excel表格数据,matlab导入excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......
  16. funcode小游戏暑假大作业,开源,新颖,游戏名:凿空,免费。
  17. 预推免的内耗---还好上岸了,要不就淹死了
  18. 我的世界java活板门会被烧没_《我的世界》新版1.14的活板门特性改变了?玩家开发出新的玩法!...
  19. [职场技巧第一期]面试前需弄明白的四个问题
  20. “获取硬盘信息失败,请谨慎操作”的解决方案

热门文章

  1. 弟中弟的Leetcode总结——数组类(四)
  2. 【Maven有图有真相】解决Intellij idea下maven下载插件慢问题
  3. 创业公司的九种商业模式和定价策略 | Business Models and Pricing
  4. [收藏]GIF文件格式
  5. word域操作及操作页码实例
  6. 我从腾讯那“偷了”3000万QQ用户数据,出了份很有趣的独家报告!
  7. 200瓦PFC方案200瓦pfc控制器方案,采用ucc28019a
  8. java flv转mp3_用java程序调用ffmpeg执行视频文件格式转换flv
  9. 【考研英语语法】十三种时态
  10. 阿里人工智能云养猪重新定义什么是好猪