收藏文章 楼主
版块:商务服务   类型:普通   作者:外链分享   查看:99   回复:0   获赞:0   时间:2023-02-17 07:05:01

工作中,如何用python和selenium提取验证码呢?

获取验证码的方法

按照以往的经验,有4种方法:

  1. 让开发帮忙去掉验证码代码,重新部署环境
  2. 弄个万能验证码,每次登陆都可以登陆
  3. 用cookie添加登录名和密码避开验证码的方式
  4. 老老实实获取验证码图片,识别出验证码

方法一:

遇到好说话的开发,他一般都能帮忙去掉验证码的代码。

但是代码去掉了,还需要重新部署一套没验证码的环境,麻烦,不推荐。

方法二:

还是需要开发的帮助,弄一个万能验证码,但测试环境弄的万能验证码可千万不能搞到正式环境。

故不推荐,还是先想想别的办法。

方法三:

该方法的难点是:如何在cookie中找到登陆用户名和密码的name,再将用户名和密码添加进去。

方法四:

最容易想到的办法,重点讲这个方法,此处有2个思路。

  1. 截图登陆页面,再截取验证码图片,识别;
  2. 直接在登陆页面,定位到验证码,将验证码图片另存为,识别;

该方法实现过程中,用到第三方库pytesseract,所以先安装需要引用的库。

如何获取验证码(获取验证码具体操作方法)(1)

pytesseract的安装

pytesseract依赖于tesseract,需要先安装tesseract。

安装Tesseract模块:

git文档地址:https://digi.bib.uni-mannheim.de/tesseract/

请安装不带dev的稳定版,下载后就是一个exe安装包,直接右击安装即可。

一般安装在默认路径,如果不在默认路径,请记住该路径。

下载培训数据:

需要下载相应的培训数据,直接下载整个zip文件,解压后将文件复制到’tessdata‘目录中。

一般为:C:\Program Files (x86)\Tesseract-OCR\tessdata

如何获取验证码(获取验证码具体操作方法)(2)

配置环境变量:

  1. 编辑系统变量里面 path,添加安装路径:C:\Program Files (x86)\Tesseract-OCR
  2. 添加TESSDATA_PREFIX变量,值为:C:\Program Files (x86)\Tesseract-OCR\tessdata
  3. 最后,在cmd命令模式下测试是否安装成功:
  4. tesseract test.jpg text -l chi_sim

安装python的第三方库: 

pip install pillow #一个python的图像处理库,pytesseract依赖

pip install pytesseract

修改pytesseract.py文件:

找到pytesseract的安装包,C:\Python34\Lib\site-packages\pytesseract。

编辑pytesseract.py文件,该步骤必须做,不然编译时会报错。

修改内容如下:

tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

如何获取验证码(获取验证码具体操作方法)(3)

代码实现

上面讲述了实现的2种思路,现在分别说明代码实现过程。

思路一:

  1. 先计算浏览器与登陆页面截图的比例值
  2. 再计算对应的验证码图片位置
  3. 再将获取到的验证码图片,先进行二值化处理
  4. 处理后的图像采用pytesseract库转化

如何获取验证码(获取验证码具体操作方法)(4)

截图保存验证码

如何获取验证码(获取验证码具体操作方法)(5)

二值化处理验证码图片

如何获取验证码(获取验证码具体操作方法)(6)

验证码图片转化

上述图片转化过程中,注意参数设置。

不设置参数时,总是将1转化为7,设置后转化准确率杠杠滴。

当然,目前只是识别数字型的验证码,文字类型的方法应该是类似的。

思路二:

  1. 先定位到验证码的位置
  2. 将验证码图片另存到一个路径
  3. 该路径下获取最新的验证码图片
  4. 验证码图片二值化处理
  5. 处理后的图像采用pytesseract库转化

如何获取验证码(获取验证码具体操作方法)(7)

验证码另存为图片

后面的图片处理和获取验证码过程与思路一相同。


全站外链: TEC传感器 | 猫掌外链
 
回复列表
默认   热门   正序   倒序

回复:如何获取验证码(获取验证码具体操作方法)

网站公告

近期本站被人为恶意注册及发布垃圾帖,每一个发帖都会经过审核,一经发现违法或垃圾帖的用户,帖子将被删除或封号,请大家共同维护互联网环境,共创美好互联网未来。

详细的发帖规则请阅读:

《小猪外链网发帖规则》

《小猪外链网最新金币规则》

注:本站严禁发布灰色违禁违法内容,如发现立刻永久封号,如开通会员的概不退款。

Powered by 小猪外链网 8.3.15

©2015 - 2025 小猪SEO外链平台

备案号:浙ICP备17015142号

免责申明:本网站内容由平台入驻会员撰写,除创始人账号外,其他观点仅代表作者本人,不代表小猪外链网立场。如果内容涉及侵犯其他公司、团体的利益、请联系小猪SEO外链网客服举证删除

您的IP:18.223.114.251,2025-05-03 19:12:23,Processed in 0.21835 second(s).

各位站长请准守小猪SEO外链网的发帖规则,文明理性发言

外链优化

用户名:

粉丝数:

签名:

资料 关注 好友 消息
分享
已有0次打赏