爬虫 - 验证码处理方案
1、手动输入(input)
仅限于输入一次就可持续使用的情况
2、图像识别引擎解析(不推荐)
使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理
(1)什么是图片识别引擎?
图片识别引擎:OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件。
(2)Tesseract OCR
Tesseract:一款由HP实验室开发,由Google维护的开源OCR引擎,特点是开源,免费,支持多语言,多平台。
github项目地址:https://github.com/tesseract-ocr/tesseract
最新官方文档地址:https://tesseract-ocr.github.io/
引擎的安装
mac环境下的安装
linux环境下的安装
windows环境下的安装
可通过exe安装包安装,下载地址:https://tesseract-ocr.github.io/tessdoc/Installation.html,安装完成后需要将Tesseract 执行文件的目录加入到PATH中,方便后续调用
1 | brew install --with-training-tools tesseract |
- Python库的安装
1 | # Pillow模块:打开图片文件 |
- 图片识别引擎的使用
1 | from pillow import Image |
- 其他ocr平台
微软Azure 图像识别:https://azure.microsoft.com/zh-cn/services/cognitive-services/computer-vision/
有道智云文字识别:https://ai.youdao.com/product-ocr-print.s
阿里云图文识别:https://ai.aliyun.com/ocr?spm=5176.22414175.J_3207526240.53.362f2985kmYJXN
腾讯OCR文字识别:https://cloud.tencent.com/product/ocr-catalog
3、打码平台(推荐)
分免费和收费的,由于打码平台较多,且有些不太稳定,所以就不一一列举了,可自行查找&尝试
- 云码HTTP接口文档:https://www.jfbym.com/demo/
4、常见验证码的种类
(1)url地址不变,验证码不变
识别技巧:只需要获取验证码的地址,然后通过打码平台识别即可
(2)url地址不变,验证码变化
实现方式:通过cookie来实现
识别技巧:提交验证码的到时候保证cookie的一致性,对此可使用requests.session来解决
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 妙妙屋!