圖文混淆,驗(yàn)證碼反爬(Steamboat練習(xí))
?

本練習(xí)涉及:css語法、
IO、pytesseract、pillow和parsel庫
目錄
第一步
?第二步
第一部分的源代碼
第二部分? 圖片驗(yàn)證碼
第二部分源代碼
第一部分
練習(xí)網(wǎng)址:http://www.porters.vip/confusion/recruit.html
如圖:

第一步
使用
的css選擇器,獲取圖片的網(wǎng)址parsel是一個(gè)強(qiáng)大的數(shù)據(jù)解析庫
里面有css,xpath以及re

?第二步
請(qǐng)求、處理圖片,識(shí)別成文字
需要用到pillow(原PIL庫)和pytesseract庫
:?pip?install?pytesseract,pillow
注意?。?!
安裝是pillow,調(diào)用是import PIL
找不到tesseract語言包的下面拿:
?鏈接: https://pan.baidu.com/s/1B00tHLndwil7-gGWonKXhQ?pwd=ydii 提取碼: ydii?

用
配合PIL.Image方法打開圖片
這樣操作可以不用將圖片保存本地,直接在內(nèi)存中處理
最后使用pytesseract.image_to_string方法進(jìn)行文字識(shí)別


輸出結(jié)果

第一部分的源代碼
第二部分? 圖片驗(yàn)證碼
中國知網(wǎng):

如圖,先提取驗(yàn)證碼的網(wǎng)址,請(qǐng)求網(wǎng)址,
刷新幾次發(fā)現(xiàn),每次請(qǐng)求的驗(yàn)證碼都不同

通過PIL處理圖片,先把圖片黑白色處理(消除彩色),再進(jìn)行二值化處理(消除干擾線)
效果


補(bǔ)充一個(gè)計(jì)算型驗(yàn)證碼:

多一步,正則re提取

效果

太長了,本文章進(jìn)階的
tesseract是開源免費(fèi)的庫,識(shí)別率有限,
不過支持圖片訓(xùn)練
百度和騰訊的OCR識(shí)別接口效果很好
?

點(diǎn)個(gè)贊唄<( ̄︶ ̄)>

?