【Python3網絡爬蟲開發實戰】1.3.4-tesserocr的安裝

      網友投稿 975 2025-03-31

      在爬蟲過程中,難免會遇到各種各樣的驗證碼,而大多數驗證碼還是圖形驗證碼,這時候我們可以直接用OCR來識別。

      1. OCR

      OCR,即Optical Character Recognition,光學字符識別,是指通過掃描字符,然后通過其形狀將其翻譯成電子文本的過程。對于圖形驗證碼來說,它們都是一些不規則的字符,這些字符確實是由字符稍加扭曲變換得到的內容。

      例如,對于如圖1-22和圖1-23所示的驗證碼,我們可以使用OCR技術來將其轉化為電子文本,然后爬蟲將識別結果提交給服務器,便可以達到自動識別驗證碼的過程。

      圖1-22 驗證碼

      圖1-23 驗證碼

      tesserocr是Python的一個OCR識別庫,但其實是對Tesseract做的一層Python API封裝,所以它的核心是Tesseract。因此,在安裝tesserocr之前,我們需要先安裝tesseract。

      【Python3網絡爬蟲開發實戰】1.3.4-tesserocr的安裝

      2. 相關鏈接

      tesserocr GitHub:https://github.com/sirfz/tesserocr

      tesserocr PyPI:https://pypi.python.org/pypi/tesserocr

      tesseract-:http://digi.bib.uni-mannheim.de/tesseract

      tesseract GitHub:https://github.com/tesseract-ocr/tesseract

      tesseract語言包:https://github.com/tesseract-ocr/tessdata

      tesseract文檔:https://github.com/tesseract-ocr/tesseract/wiki/Documentation

      3. Windows下的安裝

      在Windows下,首先需要下載tesseract,它為tesserocr提供了支持。

      進入下載頁面,可以看到有各種.exe文件的下載列表,這里可以選擇下載3.0版本。圖1-24所示為3.05版本。

      圖1-24 下載頁面

      其中文件名中帶有dev的為開發版本,不帶dev的為穩定版本,可以選擇下載不帶dev的版本,例如可以選擇下載tesseract-ocr-setup-3.05.01.exe。

      下載完成后雙擊,此時會出現如圖1-25所示的頁面。

      圖1-25 安裝頁面

      此時可以勾選Additional language data(download)選項來安裝OCR識別支持的語言包,這樣OCR便可以識別多國語言。然后一路點擊Next按鈕即可。

      接下來,再安裝tesserocr即可,此時直接使用pip安裝:

      pip3?install?tesserocr?pillow

      4. Linux下的安裝

      對于Linux來說,不同系統已經有了不同的發行包了,它可能叫作tesseract-ocr或者tesseract,直接用對應的命令安裝即可。

      Ubuntu、Debian和Deepin

      在Ubuntu、Debian和Deepin系統下,安裝命令如下:

      sudo?apt-get?install?-y?tesseract-ocr?libtesseract-dev?libleptonica-dev

      CentOS、Red Hat

      在CentOS和Red Hat系統下,安裝命令如下:

      yum?install?-y?tesseract

      在不同發行版本運行如上命令,即可完成tesseract的安裝。

      安裝完成后,便可以調用tesseract命令了。

      接著,我們查看一下其支持的語言:

      1????tesseract?--list-langs

      運行結果示例:

      List?of?available?languages?(3): eng osd equ

      結果顯示它只支持幾種語言,如果想要安裝多國語言,還需要安裝語言包,官方叫作tessdata(其下載鏈接為:https://github.com/tesseract-ocr/tessdata)。

      利用Git命令將其下載下來并遷移到相關目錄即可,不同版本的遷移命令如下所示。

      在Ubuntu、Debian和Deepin系統下的遷移命令如下:

      git?clone?https://github.com/tesseract-ocr/tessdata.git sudo?mv?tessdata/*?/usr/share/tesseract-ocr/tessdata

      在CentOS和Red Hat系統下的遷移命令如下:

      git?clone?https://github.com/tesseract-ocr/tessdata.git sudo?mv?tessdata/*?/usr/share/tesseract/tessdata

      這樣就可以將下載下來的語言包全部安裝了。

      這時我們重新運行列出所有語言的命令:

      tesseract?--list-langs

      結果如下:

      List?of?available?languages?(107): afr amh ara asm aze aze_cyrl bel ben bod bos bul cat ceb ces chi_sim chi_tra ...

      可以發現,這里列出的語言就多了很多,比如chi_sim就代表簡體中文,這就證明語言包安裝成功了。

      接下來再安裝tesserocr即可,這里直接使用pip安裝:

      pip3?install?tesserocr?pillow

      5. Mac下的安裝

      在Mac下,我們首先使用Homebrew安裝ImageMagick和tesseract庫:

      brew?install?imagemagick? brew?install?tesseract?--all-languages

      接下來再安裝tesserocr即可:

      pip3?install?tesserocr?pillow

      這樣我們便完成了tesserocr的安裝。

      6. 驗證安裝

      接下來,我們可以使用tesseract和tesserocr來分別進行測試。

      下面我們以如圖1-26所示的圖片為樣例進行測試。

      圖1-26 測試樣例

      該圖片的鏈接為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?Leptonica Python3WebSpider

      這里我們調用了tesseract命令,其中第一個參數為圖片名稱,第二個參數result為結果保存的目標文件名稱,-l指定使用的語言包,在此使用英文(eng)。然后,再用cat命令將結果輸出。

      運行結果便是圖片的識別結果:Python3WebSpider。可以看到,這時已經成功將圖片文字轉為電子文本了。

      然后還可以利用Python代碼來測試,這里就需要借助于tesserocr庫了,測試代碼如下:

      import?tesserocr from?PIL?import?Image image?=?Image.open('image.png') print(tesserocr.image_to_text(image))

      我們首先利用Image讀取了圖片文件,然后調用了tesserocr的image_to_text()方法,再將其識別結果輸出。

      運行結果如下:

      Python3WebSpider

      另外,我們還可以直接調用file_to_text()方法,這可以達到同樣的效果:

      import?tesserocr print(tesserocr.file_to_text('image.png'))

      運行結果:

      Python3WebSpider

      如果成功輸出結果,則證明tesseract和tesserocr都已經安裝成功。

      編程語言 OCR python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel全部取消隱藏(Excel全部取消隱藏)
      下一篇:【IoT美學】物聯網發展簡史與概述
      相關文章
      亚洲成av人片在线看片| 亚洲香蕉在线观看| 国产亚洲午夜精品| 亚洲国产精品无码久久九九大片| 日本亚洲色大成网站www久久| 亚洲另类春色校园小说| 亚洲精品白色在线发布| 亚洲精品在线免费看| 在线观看亚洲一区二区| 亚洲视频一区在线播放| 亚洲美女大bbbbbbbbb| 亚洲酒色1314狠狠做| 亚洲视频一区二区三区| 亚洲精品亚洲人成在线观看麻豆| 久久久久亚洲AV无码专区首JN| 亚洲理论片中文字幕电影| 亚洲成av人片在线看片| 亚洲天堂2017无码中文| 亚洲欧洲免费无码| 天天综合亚洲色在线精品| 少妇亚洲免费精品| 亚洲日韩国产一区二区三区| 色噜噜亚洲精品中文字幕| 国产亚洲精AA在线观看SEE| 亚洲电影中文字幕| 91亚洲国产成人久久精品网址| 久久久久se色偷偷亚洲精品av| 亚洲综合色区中文字幕| 亚洲欧好州第一的日产suv| 99亚洲精品卡2卡三卡4卡2卡| 亚洲第一区在线观看| 亚洲最大AV网站在线观看| 亚洲国产精品无码专区| 久久夜色精品国产噜噜噜亚洲AV | 亚洲综合日韩中文字幕v在线| 亚洲视频网站在线观看| 国内精品久久久久影院亚洲| 亚洲精品宾馆在线精品酒店| 亚洲精品成人区在线观看| 亚洲人成精品久久久久| 久久精品国产亚洲AV无码偷窥|