溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python爬蟲(chóng)怎么識(shí)別圖片驗(yàn)證碼

發(fā)布時(shí)間:2020-11-24 09:27:37 來(lái)源:億速云 閱讀:144 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹python爬蟲(chóng)怎么識(shí)別圖片驗(yàn)證碼,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

爬蟲(chóng)真的像別人說(shuō)的那么強(qiáng)大,可以獲取很多信息,幫助或者參考別人的內(nèi)容,補(bǔ)全自己?jiǎn)???shí)際上確實(shí)是可以實(shí)現(xiàn)的,但是大家不了解的是,除了被動(dòng)讓爬蟲(chóng)去爬取,很多網(wǎng)站都可有主動(dòng)防御技能,比如,現(xiàn)在跟大家說(shuō)的圖片驗(yàn)證問(wèn)題,爬蟲(chóng)必須得去解決,不然沒(méi)有辦法可以進(jìn)行下一步,解決操作如下所示:

1、先安裝一個(gè)pytesseract

2、接著我們就打開(kāi)一張圖片,使用 pytesseract 識(shí)別。

python爬蟲(chóng)怎么識(shí)別圖片驗(yàn)證碼

代碼如下:

captcha = Image.open("captcha1.png")result = pytesseract.image_to_string(captcha)print(result)

輸出結(jié)果:沒(méi)有問(wèn)題。

3、我們?cè)谠囋嚻渌麍D片,如下所示

python爬蟲(chóng)怎么識(shí)別圖片驗(yàn)證碼

代碼所示:

captcha = Image.open("claptcha2.png")result = pytesseract.image_to_string(captcha)print(result)

處理結(jié)果是有問(wèn)題,也許是pytesseract沒(méi)有辦法處理噪點(diǎn)比較大的內(nèi)容。

4、首先進(jìn)行圖片灰度處理

captcha = Image.open("captcha2.png")result = captcha.convert('L')result.show()

5、在進(jìn)行二值化

def convert_img(img,threshold):    img = img.convert("L")  # 處理灰度    pixels = img.load()    for x in range(img.width):        for y in range(img.height):            if pixels[x, y] > threshold:                pixels[x, y] = 255            else:                pixels[x, y] = 0    return img

6、調(diào)用一下

convert_img(captcha,150)

7、之后再跟第一個(gè)圖片處理方式一樣,就可以解決了哦~

好啦,一般情況下,第一種方式,幾行代碼就可以處理完成,還有一些情況可以調(diào)用第二種方式。

以上是“python爬蟲(chóng)怎么識(shí)別圖片驗(yàn)證碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI