本機運作環境:
Win 10 version 1709;
Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
在Windows10下,首先需要下載下傳tesseract,它為tesserocr提供底層支援。具體下載下傳官方路徑:https://github.com/UB-Mannheim/tesseract/wiki,選擇對應的系統版本,可以選擇一個相對不帶dev的穩定版本下載下傳,如:tesseract-ocr-setup-3.05.02-20180621.exe,
然後一路安裝,唯一記得勾選Additional language data(download),勾選可能會用到的語言tessdata,如簡體、繁體中文,數學子產品等,不需要全選,下載下傳tessdata的時間會比較長。
我們在PowerShell下使用pip3 install tesserocr pillow 指令安裝 tesserocr時通常會報錯:“error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools",這個時候不宜直接去下載下傳Microsoft Visual C++ Build Tools,而是使用原始的whl檔案方式安裝。tesserocr 的whl官方檔案下載下傳路徑:https://github.com/simonflueckiger/tesserocr-windows_build/releases,

1 import tesserocr
2 from PIL import Image
3 image=Image.open('image.jpg')
4 print(tesserocr.image_to_text(image))
不出意外,首次運作總是不順利,相信我遇到的坑大多數人都會遇到,大抵錯誤類似:
Traceback (most recent call last):
File "c:\Users\NewJune\test.py", line 4, in <module>
print(tesserocr.image_to_text(image))
File "tesserocr.pyx", line 2400, in tesserocr._tesserocr.image_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Python36\
不難看出 tesserocr.py檔案沒有指定正确的tessdata 路徑,本人的python也并非安裝在C:\Python36\,網上看到的方法都是添加D:\Program Files\Tesseract-OCR這個到系統環境變量,依然不成功,目前本人沒找到如何修改tesserocr.py關聯的tessdata path有效方式,但是比較簡單粗暴的方法是,可以根據提示,直接手工建立C:\Python36\,并将D:\Program Files\Tesseract-OCR對應的tessdata檔案夾整個拷貝到C:\Python36\即可。親測有效。
再次在vscode下運作程式,直接可以輸出”7364“,與驗證碼内容一緻。
快來掃碼關注我的公衆号 擷取更多爬蟲、資料分析的知識!