本篇內(nèi)容介紹了“Python爬蟲遇到驗(yàn)證碼怎么解決”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新新互聯(lián),憑借10多年的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上千案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)。
一 前言
中國(guó)知網(wǎng)的注冊(cè)頁面使用的是這種驗(yàn)證碼,頁面如下:
二 準(zhǔn)備工作
1 目標(biāo)
以知網(wǎng)的驗(yàn)證碼為例,利用OCR(Optical Character Recognition 光學(xué)字符識(shí)別)技術(shù)識(shí)別圖形驗(yàn)證碼。
2 安裝tesseract
2.2 下載tesseract-ocr-setup-3.05.01.exe
2.3 安裝注意事項(xiàng)
勾選Additional language data(download)選項(xiàng),這樣可以識(shí)別多國(guó)語言。
3 安裝tesserocr
pip install tesserocr pillow
安裝好的Tesseract-OCR后,從D:\Program Files (x86)\Tesseract-OCR目錄下,將tessdata文件夾拷貝到下面目錄
E:\WebSpider\venv\Scripts
4 獲取驗(yàn)證碼
將驗(yàn)證碼圖形 保存到本地,命名為code.jpg
三 實(shí)戰(zhàn)
1 實(shí)戰(zhàn)
1.1 代碼
import tesserocr from PIL import Image image = Image.open('code.jpg') result = tesserocr.image_to_text(image) print(result) image = Image.open('code1.jpg') result = tesserocr.image_to_text(image) print(result) image = Image.open('code2.jpg') result = tesserocr.image_to_text(image) print(result)
1.2 效果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/8_1.py DTKD JR42 PFRT
1.3 說明
code.jpg是DTKT
code1.jpg是JR42
code2.jpg是PFRT
將結(jié)果和實(shí)際圖片進(jìn)行比較,正確率還是比較高的。
2 實(shí)戰(zhàn)2
2.1 代碼
import tesserocr print(tesserocr.file_to_text('code.jpg')) print(tesserocr.file_to_text('code1.jpg')) print(tesserocr.file_to_text('code2.jpg'))
2.2 效果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/8_1.py DTKD .ll?42 FFKT
2.3 說明
code.jpg是DTKT
code1.jpg是JR42
code2.jpg是PFRT
將結(jié)果和實(shí)際圖片進(jìn)行比較,正確率并不是很高。
3 實(shí)戰(zhàn)3
3.1 代碼
import tesserocr from PIL import Image image = Image.open('code2.jpg') image = image.convert('L') threshold = 127 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) image = image.point(table, '1') image.show() result = tesserocr.image_to_text(image) print(result)
3.2 效果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/8_1.py PFRT
“Python爬蟲遇到驗(yàn)證碼怎么解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!