爬虫 - 用ocr来识别验证码

用OCR来识别

直接识别效果不好,因为验证码内的多余线条干扰了图片的识别。先转为灰度图像,再二值化。经实践证明,该方法不是100%正确。

# 获取图片
curl -X GET http://my.cnki.net/elibregister/CheckCode.aspx

import tesserocr
from PIL import Image

image = Image.open(‘1.png‘)
# 转为灰度图像
image = image.convert(‘L‘)

threshold = 127
table = []

# 二值化
for i in range(256):
    if i < threshold:
        table.append(0)
    else:
        table.append(1)
# mode=‘1‘默认的阀值为127
image = image.point(table, ‘1‘)
image.show()
result = tesserocr.image_to_text(image)
print(result)

原文地址:https://www.cnblogs.com/allen2333/p/9537471.html

时间: 2024-07-31 22:51:31

爬虫 - 用ocr来识别验证码的相关文章

Java 如何使用 OCR 技术识别验证码实现自动化登陆

如论实施敏捷的团队,或者实施 DevOps 的团队,通过自动化测试提高测试效率和软件质量都是其共同的选择.UI 自动化测试是自动化化测试当中的重要环节,在 UI 自动化测试中验证码识别一直是令自动化测试人员头疼的问题.今年来随着 OCR 技术.人工智能计算机视觉(AI Computer Vision)技术的成熟与使用大大提高了验证码的识别成功率.从而使得自动识别验证码自动化登陆目标系统成为可能. 本 Chat 主要内容包括: OCR 技术与人工智能计算机视觉(AI Computer Vision

[Python][爬虫]利用OCR技术识别图形验证码

ocr图片识别通常可以利用tesserocr模块,将图片中内容识别出来并转换为text并输出 Tesserocr是python的一个OCR识别库,是对tesseract做的一层python APT封装.在安装Tesserocr前,需要先安装tesseract tessrtact文件: https://digi.bib.uni-mannheim.de/tesseract/ python安装tessocr: 下载对应的.whl文件安装(这个包pip方式容易出错) tesseract 与对应的tess

使用百度ocr接口识别验证码

#!/usr/bin/env python #created by Baird from aip import AipOcr def GetCaptchaV(filename): APP_ID = '1X4X8X4X' API_KEY = 'YaVcqamctoYqRHNGAqwVbn97UO' SECRET_KEY = 'C1926rIqGstqPHTUFa6sz481fjDua2pv' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) ""&

python网络爬虫之如何识别验证码

有些网站的登录方式是验证码登录的方式,比如今天我们要测试的网站专利检索及分析. http://www.pss-system.gov.cn/sipopublicsearch/portal/uilogin-forwardLogin.shtml 登录此类网站的关键是识别其中的验证码.那么如何识别验证码呢.我们首先来看下网页源代码.在网页中,验证码的是通过下载一个图片得到的.图片的下载地址是src=/sipopublicsearch/portal/login-showPic.shtml 我们从实际的fi

Python3网络爬虫实战-41、图形验证码的识别

本节我们首先来尝试识别最简单的一种验证码,图形验证码,这种验证码出现的最早,现在也很常见,一般是四位字母或者数字组成的,例如中国知网的注册页面就有类似的验证码,链接为:http://my.cnki.net/elibregister/commonRegister.aspx,页面如图 8-1 所示: 图 8-1 知网注册页面 表单的最后一项就是图形验证码,我们必须完全输入正确图中的字符才可以完成注册. 1. 本节目标 本节我们就以知网的验证码为例,讲解一下利用 OCR 技术识别此种图形验证码的方法.

Python3网络爬虫实战-42、图形验证码的识别

本节我们首先来尝试识别最简单的一种验证码,图形验证码,这种验证码出现的最早,现在也很常见,一般是四位字母或者数字组成的,例如中国知网的注册页面就有类似的验证码,链接为:http://my.cnki.net/elibregister/commonRegister.aspx,页面如图 8-1 所示: 图 8-1 知网注册页面 表单的最后一项就是图形验证码,我们必须完全输入正确图中的字符才可以完成注册. 1. 本节目标 本节我们就以知网的验证码为例,讲解一下利用 OCR 技术识别此种图形验证码的方法.

C#识别验证码技术-Tesseract

相信大家在开发一些程序会有识别图片上文字(即所谓的OCR)的需求,比如识别车牌.识别图片格式的商品价格.识别图片格式的邮箱地址等等,当然需求最多的还是识别验证码.如果要完成这些OCR的工作,需要你掌握图像处理.图像识别的知识,需要用到图形形态学.傅里叶变换.矩阵变换.贝叶斯决策等很多复杂的理论,这让绝大部分人都会望而却步. Tesseract这个开源项目的出现让我们普通人也可以涉足OCR的开发.Tesseract可以从图片中识别出文字内容,但不要以为Tesseract可以智能的识别出各种奇形怪状

qtp识别验证码

花了两天时间才完整的完成识别验证码的登录操作,在网上看到很多关于验证码识别的方法,但是我用的qtp版本比较高级,所以还是要自己花心思研究.po上我的识别验证码的详细历程: 一.读取浏览器中的图片验证码 1.打开浏览器登录界面 2.启动qtp,不勾选web 3.录制验证码.开始录制:在录制的小条上选择insert ->text area output value. 截图验证码图片的框. 然后选择modify,output types设置为environment,name 可以改写为“getchar

使用tensorflow深度学习识别验证码

除了传统的PIL包处理图片,然后用pytessert+OCR识别意外,还可以使用tessorflow训练来识别验证码. 此篇代码大部分是转载的,只改了很少地方. 代码是运行在linux环境,tessorflow没有支持windows的python 2.7. gen_captcha.py代码. #coding=utf-8 from captcha.image import ImageCaptcha # pip install captcha import numpy as np import ma