在使用爬蟲登錄網(wǎng)站的時(shí)候,經(jīng)常輸入用戶名和密碼后會(huì)遇到驗(yàn)證碼,簡單一點(diǎn)的有字母驗(yàn)證碼,復(fù)雜一點(diǎn)的有滑塊驗(yàn)證碼,點(diǎn)選文章和點(diǎn)選圖片驗(yàn)證碼。這些都是爬蟲中的老大難問題,今天介紹一款通用驗(yàn)證碼識(shí)別 SDK 對他們徹底說拜拜,它的名字是 ddddocr 帶帶弟弟 OCR 通用驗(yàn)證碼識(shí)別 SDK 免費(fèi)開源版。
安裝
將自動(dòng)安裝符合自己電腦環(huán)境的最新 ddddocr。Python 環(huán)境需要小于等于 3.9。
pipinstallddddocr
使用
帶帶弟弟 OCR 可以識(shí)別三種驗(yàn)證碼,小編就用這三種來實(shí)驗(yàn)一下。
滑塊驗(yàn)證碼
滑塊驗(yàn)證碼這里用的是豆瓣的滑塊驗(yàn)證。下滑塊是單獨(dú)的透明背景圖 hycdn.png。
背景圖是帶小滑塊坑位的 background.jpg。
importddddocr
det=ddddocr.DdddOcr(det=False,ocr=False)
withopen('hycdn.png','rb')asf:
target_bytes=f.read()
withopen('background.jpg','rb')asf:
background_bytes=f.read()
res=det.slide_match(target_bytes,background_bytes,simple_target=True)
print(res)
識(shí)別結(jié)果
{'target_y':0,'target':[486,126,622,262]}
target 屬性的前兩個(gè)值正好和豆瓣驗(yàn)證滑塊 url 中提交的 ans 差不多。
點(diǎn)選類驗(yàn)證碼
點(diǎn)選類驗(yàn)證碼用的是網(wǎng)易登錄
det=ddddocr.DdddOcr(det=True)
withopen("eb.jpg",'rb')asf:
image=f.read()
poses=det.detection(image)
im=cv2.imread("eb.jpg")
forboxinposes:
x1,y1,x2,y2=box
im=cv2.rectangle(im,(x1,y1),(x2,y2),color=(0,0,255),thickness=2)
cv2.imwrite("result.jpg",im)
字母數(shù)字驗(yàn)證碼
字母數(shù)字驗(yàn)證碼的圖片來自于 google 搜索
ocr=ddddocr.DdddOcr(old=True)
withopen("z1.jpg",'rb')asf:
image=f.read()
res=ocr.classification(image)
print(res)
識(shí)別結(jié)果
3n3d
8342
總結(jié)
ddddocr 讓驗(yàn)證碼變得如此簡單與易用,,讓不會(huì)用 opencv, pytorch, tensorflow 的小伙伴也能快速的破解網(wǎng)站的登錄驗(yàn)證碼。小伙伴們?nèi)绻衅渌玫?ocr 識(shí)別也可以在留言中分享出來。
審核編輯:湯梓紅
-
開源
+關(guān)注
關(guān)注
3文章
3407瀏覽量
42712 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85039 -
OCR
+關(guān)注
關(guān)注
0文章
146瀏覽量
16427
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論