最近要用tesserocr這個庫處理在爬蟲中遇到的驗證碼問題,但是搗鼓了半天都失敗。特地記錄下來,以防下次出錯
- 在Pycharm命令台上使用Homebrew安裝ImageMagick和tesseract庫:
brew install imagemagick
brew install tesseract --all-languages
如果不行的話,換brew install tesseract 安裝
- 安裝完成后可以看看語言全部裝上沒有,如果有很多語言輸出就代表安裝成功
tesseract --list-langs
- 測試是否在終端中可以檢測圖片
圖片地址 https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png
保存或下載。首先用命令行進行測試,將圖片下載下來並保存為image.png,然后用tesseract命令測試:
tesseract image.png(圖片存放的地址) result -l eng && cat result.txt
運行結果如下:
Tesseract Open Source OCR Engine v3.05.01 with LeptonicaPython3WebSpider
這里我們調用了tesseract命令,其中第一個參數為圖片名稱,第二個參數result為結果保存的目標文件名稱,-l指定使用的語言包,在此使用英文(eng)。然后,再用cat命令將結果輸出。
運行結果便是圖片的識別結果:Python3WebSpider。可以看到,這時已經成功將圖片文字轉為電子文本了。
\4. 雖然終端可以識別了,但是在python中調用這個包依然是失敗的,所以還需要導入tesseract包
pip install tesserocr pillow
但是這步會出錯,譬如gcc找不到這樣的,所以需要這樣寫:
sudo CFLAGS="-mmacosx-version-min=10.14" pip3 install tesserocr
因為是mac電腦,所以要選擇適合自己版本下載,版本在左上角的蘋果–>關於本機中可以看到
把10.14換成自己電腦的版本就可以了。
安裝成功后還需要下載一個Image包對圖片進行讀取,所以pip install Image
導入過程中可能會出現導入名字錯誤情況,選擇重啟或者先不管。輸入我們的測試代碼
方法一:
import tesserocr
from PIL import Image
image = Image.open('/Users/Desktop/image.png')
print(tesserocr.image_to_text(image))
1234
方法二:
import tesserocr
print(tesserocr.file_to_text(' /Users/Desktop/image.png'))
12
識別成功,可以使用~