在开发爬虫时,会遇到验证码识别,在网站中加入验证码的目的是加强用户安全性和提高反爬虫机制。
验证码类型:字符验证码,图片验证码,gif动图验证码,极验验证码(拖动滑块完成拼图),手机验证码,视频验证码等。
识别验证码的三种方案:
1,人工识别,但这过分依赖人为控制,难以实现批量爬取
2,python调用OCR引擎识别验证码。但正常情况下,OCR准确率低,需要机器学习不断提高OCR准确率,开发成本相对较高。
3,调用API使用第三方平台识别验证码,但每次需要支付一定费用。

下面将介绍OCR技术
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题。

在python中,支持OCR的模块有pytesser3和pyocr,通过模块调用OCR引擎识别图片,OCR引擎再将识别结果返回到程序中。
安装方法:

pip install pyocr
pip install Pillow   处理图片的模块

OCR引擎安装:
图像识别主要是OCR引擎完成,pyocr只起到一个调用引擎的作用。
安装教程
如果不是做英文的图文识别,还需要下载其他语言的识别包

代码如下:

from PIL import Image
from pyocr import tesseract
#使用PIL打开图片
im = Image.open("fig5.PNG")
code = tesseract.image_to_string(im,lang = "chi_sim")
print(code)

识别结果为:

fig5.PNG如下图:



识别结果为:


以下两张图片识别不出来

在实际使用中,验证码可能带有颜色的背景,,这时可以对图片进行简单的处理,去掉干扰因素,

im = im.convert(“L”) #图片转换为灰度图像,形成黑->灰->白 的过渡,如图黑色照片

验证码识别OCR技术相关推荐

  1. 安卓Android、iOS移动端车牌识别OCR技术原理

    核心内容:移动端车牌识别.安卓端车牌识别.Android车牌识别.iOS端车牌识别.OCR识别技术 一.安卓Android.iOS移动端车牌识别OCR技术识别流程 安卓Android.iOS移动端车牌 ...

  2. 身份证扫描识别OCR技术的应用场景

    关键词:身份证扫描识别,证件识别,身份证识别,二代身份证识别,手机移动端证件识别 目前来讲:智能OCR识别技术有关于身份证扫描识别OCR技术的服务主要有两种部署模式:身份证扫描识别OCR技术和云端/服 ...

  3. 名片识别OCR技术介绍

    以文通科技的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Interface,简称API,是应用程 ...

  4. 【北京大学】13 TensorFlow1.x的项目实战之手写英文体识别OCR技术

    目录 1 项目介绍 1.1 项目功能 1.2 评估指标 2 数据集介绍 2.1 数据特征 3 数据的预处理 3.1 数据增强 3.2 倾斜矫正 3.3 去横线 3.4 文本区域定位 4 网络结构 5 ...

  5. python免费的验证码识别OCR库

    python免费的验证码识别OCR库 免费的验证码识别OCR项目已经打包成pypi包 1, 可以通过以下命令安装 pip install ddddocr -i https://pypi.org/sim ...

  6. 手机APP轻轻一扫自动护照识别OCR技术

    一.护照识别OCR技术应用背景 护照是一个国家的公民出入本国国境和到国外旅行或居留时, 由本国发给的一种证明该公民国籍和身份的合法证件.如今,在很多APP中都涉及到对护照信息录入录入,由于护照上的信息 ...

  7. 名片扫一扫识别OCR技术

    出去见客户,交朋友,我们都会交换名片,一般情况下送出去多少名片,就会收到多少名片.我们都会拿一个整理名片的盒子,甚至专门用一个抽屉来整理我们收集起来的名片,有时候突然想起一位朋友,但想从名片堆里查找出 ...

  8. 车牌识别OCr技术,汽车后市场服务

    随着生活质量的提高和收入水平的增加,越来越多的家庭都拥有一辆甚至多辆私家车.在买车之后,也衍伸出一系列汽车后市场服务,如维修.美容.保养等等.进入4s店的车辆都需要进行车牌识别,从而在系统中调取顾客的 ...

  9. 身份证扫描识别ocr技术

     一.身份证扫描OCR识别技术应用背景 这些年,随着移动互联网的的发展,越来越多的企业都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如果手动去输入身份证号码和 ...

最新文章

  1. Oracle 表空间扩容
  2. ABAP术语-Update Task
  3. form表单重置、清空方法记录
  4. 梦幻群侠传5帮派修炼_梦幻群侠传5手游下载
  5. 深圳计算机软考培训哪家好,深圳计算机软考——信息系统项目管理报名培训
  6. 魅族手机usb计算机连接文件夹,手机连接电脑传输文件(手机usb连接电脑只充电)...
  7. android小米手机变慢,手机越来越慢怎么破?小米手机七大加速绝招
  8. Linux文件系统有哪些
  9. 仿网易云音乐网站(加入个人社区)
  10. 滑铁卢大学计算机学什么,为什么来滑铁卢大学学习数学和计算机
  11. JavaScript中递归函数
  12. Ubuntu14.04安装搜狗拼音输入法(中文输入法)
  13. 制作自己的CTPN训练集
  14. 逐步释放质疑怎么样释放std::vector所占用的内存空间
  15. 转帖 FreeTextBox 工具条
  16. 使用MATLAB遍历文件
  17. android+点击屏幕隐藏键盘,Android 显示和隐藏软键盘的方法(手动)
  18. Windows Server 2012 R2 安装 .net framework 3.5
  19. php mmseg,xsplit A PHP extension for Chinese segmentation using MMSEG algorithm[zz]
  20. js距离米转换为千米_千米的换算题(千米与米之间的换算题)

热门文章

  1. 【在线教育】课程科目入门
  2. SpringMVC+Mybatis+Html5 bootStrap,SOA架构,全新UI商业运营框架
  3. 走访广东电信公司有感
  4. JLink Warning: CPU could not be halted
  5. c语言之圆周长、面积、圆球的体积求法--未改进版
  6. plot(matplotlib.pyplot)绘图(条状图)
  7. Guava 之 Multimap
  8. 创造建材数字转型新视界,中建材如何多边赋能集团业务快速发展
  9. 搜索与回溯算法:DFS(深度优先搜索)
  10. 教你如何选择液晶显示器