Python爬蟲教程-29-驗證碼識別-Tesseract-OCR

肖朋偉發表於2018-09-06

本篇是關於驗證碼識別問題,也是Python爬蟲筆記的一個結尾,使用 Tesseract

Python爬蟲教程-29-驗證碼識別-Tesseract-OCR

  • 常見反爬蟲手段:
    • 驗證碼
      • 1.簡單圖片,扭曲數字驗證碼
      • 2.中文順序點選
      • 3.動態驗證碼
      • 4.滑動驗證:滑動小方塊到缺口
      • 5.語音驗證
      • 6.極驗驗證:官網:http://www.geetest.com/
        根據滑鼠軌跡,判定是機器人還是使用者,很強大的驗證機制
  • 對於極驗是很厲害的攔截機器人手段,好像是使用人工智慧機器學習,當然自己想做驗證的話建議使用。對於驗證有反爬蟲,就有可能有反反爬蟲

爬蟲-驗證碼識別

  • 通用方法:
    • 1.下載網頁和驗證碼,或截圖
    • 2.然後手動輸入驗證碼
  • 對於簡單圖片
    • 1.使用影象識別軟體或者文字識別軟體
    • 2.可以使用第三方影象驗證碼破解網站
  • 對於極驗,官網:http://www.geetest.com/
    • 可以模擬滑鼠移動,具體的方法我還不清楚

通用方法案例

  • 能力有限,這裡就介紹通用方法,先下載得到驗證圖片,然後手動輸入
  • Tesseract
    • 機器視覺領域的基礎軟體
    • OCR:OpticalChracterRecognition,光學文字識別
    • Tesseract:是一個 OCR 庫,由 Google 贊助

Tesseract-Windows的安裝

Tesseract-macOS的安裝

  • 我也沒有 MacBook,老師順口一說,記下了
  • brew install tesseract

Tesseract-Linux的安裝

  • 我這裡是 Ubuntu 18 其他 Linux 版本不確定,進入管理員使用者
  • apt-get install tesseract-ocr

python使用tesseract的工具 pytesseract 的安裝

  • 如果使用的是 Anaconda 環境:
    • 進入當前環境:(我的環境名為learn,如果只有一個base環境,忽略此步)

      activate learn

    • 安裝 pytesseract

      pip install pytesseract

  • 操作截圖
    這裡寫圖片描述
  • 首先說一下,conda 是沒有這個包的,也就不能使用 conda install,也不能直接在 Pycharm 裡找到,只有使用 pip 安裝,然後需要注意的就是,要使用你在 Pycharm 使用的那個環境進行安裝

識別驗證碼案例

  • 注意:此程式碼路徑是,在圖片和程式碼在同一目錄
  • 圖片截圖:
    這裡寫圖片描述
  • 程式碼 py30pytess.py 檔案:
import pytesseract as pt

from PIL import Image

# 生成圖片例項
image = Image.open('timg.jpg')

# 呼叫 pytesseract 識別圖片文字
text = pt.image_to_string(image)

print(text)

執行結果

更多文章連結:Python 爬蟲隨筆


  • 本筆記不允許任何個人和組織轉載

相關文章