python爬虫破解自如图片数字:Tesseract识别
当我们爬取ziru等网站时会发现数字其实是图片截取下来的内容,所以需要图像识别
mac安装使用tesseract-ocr
ubuntu用sudo apt-get install tesseract-ocr
1.brew安装
这里使用brew安装,没有的话先安装brew,推荐直接安装第四个也就是brew install tesserace,依赖库会自动进行安装
//先安装依赖库libpng, jpeg, libtiff, leptonica
brew install leptonica
//安装tesseract的同时安装训练工具
brew install --with-training-tools tesseract
//安装tesseract的同时安装所有语言,语言包比较大,如果安装的话时间较长,建议不安装,按需选择
brew install --all-languages tesseract
//安装tesseract,并安装训练工具和语言
brew install --all-languages --with-training-tools tesseract
//只安装tesseract,不安装训练工具
brew install tesseract
2.下载语言库
下载地址:https://github.com/tesseract-ocr/tessdata
根据自己的需求选择所要的语言库,在这里我们选择的是简体中文所以选择的库是:chi_sim.traineddata、eng.traineddata
将文件拷贝到到:/usr/local/Cellar/tesseract/你的版本号/share/tessdata目录下。
Tesseract使用测试
终端输入命令:tesseract --help
//默认使用eng文字库, imgName是图片的地址,result识别结果
tesseract imgName result
3.安装pytesseract并使用
这个是python和tesseract交互用的库,直接pip安装即可
然后下面是解析图片的源码:
import io
from PIL import Image
import pytesseract
def parse_img(self, img_url):