在做爬虫的时候经常遇到图片验证码。这是一个很蛋疼的东西,我每次都得自己去手动输入抓取的图片验证码。有没有办法可以通过OCR来进行处理图片中的文字呢?
有!
嘛,不过今天这个pytesseract库只是一个基础的文字识别库。
首先当然是需要安装pytesseract库还有图像处理的PILLOW库了,走起——
1 2 |
pip install pytesseract pip install PILLOW |
然后要安装一个Tesseract-OCR软件。这个软件是由Google维护的开源的OCR软件。下载地址:百度网盘(密码:5m3d)。再在Windows下配置一下环境变量。
代码很简单:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# -*-encoding:utf-8-*- import pytesseract from PIL import Image def main(): image = Image.open("1.jpg") #image.show() #打开图片1.jpg text = pytesseract.image_to_string(image,lang='chi_sim') #使用简体中文解析图片 #print(text) with open("output.txt", "w") as f: #将识别出来的文字存到本地 print(text) f.write(str(text)) if __name__ == '__main__': main() |
效果如下
这个代码对简单的文字识别是没有问题,但是对稍微有一点干扰的图片就无能为力了,所以需要去噪点和干扰线。这个问题还在看,改天写。
2018.2.8 更新:利用pytesseract库进行图片文字识别(二)