tesserocr的安裝

在爬蟲過程中惑艇,難免會(huì)遇到各種各樣的驗(yàn)證碼心剥,而大多數(shù)驗(yàn)證碼還是圖形驗(yàn)證碼自阱,這時(shí)候我們可以直接用OCR來識(shí)別管毙。

1. OCR

OCR腿椎,即Optical Character Recognition,光學(xué)字符識(shí)別夭咬,是指通過掃描字符啃炸,然后通過其形狀將其翻譯成電子文本的過程。對(duì)于圖形驗(yàn)證碼來說卓舵,它們都是一些不規(guī)則的字符南用,這些字符確實(shí)是由字符稍加扭曲變換得到的內(nèi)容。

例如,對(duì)于如圖1-22和圖1-23所示的驗(yàn)證碼训枢,我們可以使用OCR技術(shù)來將其轉(zhuǎn)化為電子文本,然后爬蟲將識(shí)別結(jié)果提交給服務(wù)器忘巧,便可以達(dá)到自動(dòng)識(shí)別驗(yàn)證碼的過程恒界。

圖1-22 驗(yàn)證碼

圖1-23 驗(yàn)證碼

tesserocr是Python的一個(gè)OCR識(shí)別庫(kù),但其實(shí)是對(duì)tesseract做的一層Python API封裝砚嘴,所以它的核心是tesseract十酣。因此,在安裝tesserocr之前际长,我們需要先安裝tesseract耸采。

2. 相關(guān)鏈接

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提供了支持虾宇。

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

圖1-24 下載頁面

其中文件名中帶有dev的為開發(fā)版本怔接,不帶dev的為穩(wěn)定版本搪泳,可以選擇下載不帶dev的版本,例如可以選擇下載tesseract-ocr-setup-3.05.01.exe扼脐。

下載完成后雙擊岸军,此時(shí)會(huì)出現(xiàn)如圖1-25所示的頁面。

圖1-25 安裝頁面

此時(shí)可以勾選Additional language data(download)選項(xiàng)來安裝OCR識(shí)別支持的語言包瓦侮,這樣OCR便可以識(shí)別多國(guó)語言强霎。然后一路點(diǎn)擊Next按鈕即可。

接下來呕诉,再安裝tesserocr即可欲险,此時(shí)直接使用pip安裝:

pip3 install tesserocr pillow

4. Linux下的安裝

對(duì)于Linux來說,不同系統(tǒng)已經(jīng)有了不同的發(fā)行包了须喂,它可能叫作tesseract-ocr或者tesseract吁断,直接用對(duì)應(yīng)的命令安裝即可。

Ubuntu坞生、Debian和Deepin

在Ubuntu仔役、Debian和Deepin系統(tǒng)下,安裝命令如下:

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

CentOS是己、Red Hat

在CentOS和Red Hat系統(tǒng)下又兵,安裝命令如下:

yum install -y tesseract

在不同發(fā)行版本運(yùn)行如上命令,即可完成tesseract的安裝。

安裝完成后沛厨,便可以調(diào)用tesseract命令了宙地。

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

tesseract --list-langs

運(yùn)行結(jié)果示例:

List of available languages (3):engosdequ

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

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

在Ubuntu剿牺、Debian和Deepin系統(tǒng)下的遷移命令如下:

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

在CentOS和Red Hat系統(tǒng)下的遷移命令如下:

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

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

這時(shí)我們重新運(yùn)行列出所有語言的命令:

tesseract --list-langs

結(jié)果如下:

List of available languages (107):aframharaasmazeaze_cyrlbelbenbodbosbulcatcebceschi_simchi_tra...

可以發(fā)現(xiàn),這里列出的語言就多了很多晒来,比如chi_sim就代表簡(jiǎn)體中文钞诡,這就證明語言包安裝成功了。

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

pip3 install tesserocr pillow

5. Mac下的安裝

在Mac下臭增,我們首先使用Homebrew安裝ImageMagick和tesseract庫(kù):

brew install imagemagick brew install tesseract --all-languages

接下來再安裝tesserocr即可:

pip3 install tesserocr pillow

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

6. 驗(yàn)證安裝

接下來竹习,我們可以使用tesseract和tesserocr來分別進(jìn)行測(cè)試誊抛。

下面我們以如圖1-26所示的圖片為樣例進(jìn)行測(cè)試。

圖1-26 測(cè)試樣例

該圖片的鏈接為https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png整陌,可以直接保存或下載拗窃。

首先用命令行進(jìn)行測(cè)試,將圖片下載下來并保存為image.png泌辫,然后用tesseract命令測(cè)試:

tesseract image.png result -l eng && cat result.txt

運(yùn)行結(jié)果如下:

Tesseract Open Source OCR Engine v3.05.01 with LeptonicaPython3WebSpider

這里我們調(diào)用了tesseract命令随夸,其中第一個(gè)參數(shù)為圖片名稱,第二個(gè)參數(shù)result為結(jié)果保存的目標(biāo)文件名稱震放,-l指定使用的語言包宾毒,在此使用英文(eng)。然后殿遂,再用cat命令將結(jié)果輸出诈铛。

運(yùn)行結(jié)果便是圖片的識(shí)別結(jié)果:Python3WebSpider∧福可以看到幢竹,這時(shí)已經(jīng)成功將圖片文字轉(zhuǎn)為電子文本了。

然后還可以利用Python代碼來測(cè)試恩静,這里就需要借助于tesserocr庫(kù)了焕毫,測(cè)試代碼如下:

import tesserocrfrom PIL import Imageimage = Image.open('image.png')print(tesserocr.image_to_text(image))

我們首先利用Image讀取了圖片文件蹲坷,然后調(diào)用了tesserocr的image_to_text()方法,再將其識(shí)別結(jié)果輸出邑飒。

運(yùn)行結(jié)果如下:

Python3WebSpider

另外循签,我們還可以直接調(diào)用file_to_text()方法,這可以達(dá)到同樣的效果:

import tesserocrprint(tesserocr.file_to_text('image.png'))

運(yùn)行結(jié)果:

Python3WebSpider

如果成功輸出結(jié)果疙咸,則證明tesseract和tesserocr都已經(jīng)安裝成功懦底。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市罕扎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丐重,老刑警劉巖腔召,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異扮惦,居然都是意外死亡臀蛛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門崖蜜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浊仆,“玉大人,你說我怎么就攤上這事豫领÷帐粒” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵等恐,是天一觀的道長(zhǎng)洲劣。 經(jīng)常有香客問我,道長(zhǎng)课蔬,這世上最難降的妖魔是什么囱稽? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮二跋,結(jié)果婚禮上战惊,老公的妹妹穿的比我還像新娘。我一直安慰自己扎即,他們只是感情好吞获,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谚鄙,像睡著了一般衫哥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上襟锐,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天撤逢,我揣著相機(jī)與錄音,去河邊找鬼。 笑死蚊荣,一個(gè)胖子當(dāng)著我的面吹牛初狰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播互例,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奢入,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了媳叨?” 一聲冷哼從身側(cè)響起腥光,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎糊秆,沒想到半個(gè)月后武福,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痘番,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年捉片,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汞舱。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伍纫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昂芜,到底是詐尸還是另有隱情莹规,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布泌神,位于F島的核電站访惜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏腻扇。R本人自食惡果不足惜债热,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幼苛。 院中可真熱鬧窒篱,春花似錦、人聲如沸舶沿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽括荡。三九已至高镐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間畸冲,已是汗流浹背嫉髓。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工观腊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人算行。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓梧油,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親州邢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子儡陨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽明先生_X自主閱讀 15,980評(píng)論 3 119
  • 第一步安裝 Tesserocr的安裝爬蟲過程中難免會(huì)遇到各種各樣的驗(yàn)證碼量淌,而大多數(shù)驗(yàn)證碼還是圖形驗(yàn)證碼骗村,這時(shí)候我們...
    何苦_python_java閱讀 8,469評(píng)論 0 1
  • 圖片發(fā)自簡(jiǎn)書App 今日做下的事: 上四節(jié)課。 練雙截棍呀枢,練散打胚股。 代理手機(jī)電腦。 電信寬帶的事硫狞。 武協(xié)帶訓(xùn)。 看...
    文建偉CZYH閱讀 319評(píng)論 0 0