如何使用python识别验证码(上)

时间:2022-09-24 08:54:21

python进行图片文字识别十分简单,但是因为验证码的特殊性,识别存在一定难度,识别率比较低,本篇主要介绍简单的识别方法,下篇将会介绍增加识别率的办法。

1.环境

python2.7

ubuntu 16.04

2.安装

pip install requests  

pip install pytesseract # 安装Python库Pytesseract

pip install tesseract  # 安装Python库tesseract (不安装可能报错)

sudo apt-get install tesseract-ocr  (不安装可能报错)
3.代码 (识别某网站验证码)
import requests
import pytesseract
from PIL import Image
import time



headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36'}
url= "验证码地址。。。。自己找一个吧我的就不贴了"

# 根据网站的具体情况构建请求,我测试的网站比较简单

image = requests.get( url = url, headers = headers) #发请求获取验证码图片
with open( 'yanzheng.png', 'wb') as fp:
for i in image:
fp.write(i)

time.sleep( 1)
info= Image.open( 'yanzheng.png')
image_info = pytesseract.image_to_string(info)
print "验证码内容是:"image_info


如果非常好识别就不叫验证码了。。。

我测试的验证码还是比较简单的,但实际识别率依然非常低。

所以需要通过一些其他手段增加识别率。具体方法将会在下一篇介绍。


win下安装tessract :

下载地址:https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows

  选择:4.0.0-alpha for Windows下面Windows Installer made with MinGW-w64 from UB Mannheim

配置:

2,安装完成tesseract-ocr后,我们还需要做一下配置 在Python35\Lib\site-packages\pytesseract找到pytesseract.py打开后做如下操作

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
#tesseract_cmd = 'tesseract'
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
    或者直接ctrl +左键,点击 image_to_str进入后,搜索tesseract_cmd ,把后面的内容改成你安装的路径。


参考文章:https://blog.csdn.net/qiushi_1990/article/details/78041375