這篇文章主要介紹python爬蟲怎么識別圖片驗證碼,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供新邱企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為新邱眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
爬蟲真的像別人說的那么強(qiáng)大,可以獲取很多信息,幫助或者參考別人的內(nèi)容,補(bǔ)全自己嗎?實際上確實是可以實現(xiàn)的,但是大家不了解的是,除了被動讓爬蟲去爬取,很多網(wǎng)站都可有主動防御技能,比如,現(xiàn)在跟大家說的圖片驗證問題,爬蟲必須得去解決,不然沒有辦法可以進(jìn)行下一步,解決操作如下所示:
1、先安裝一個pytesseract
2、接著我們就打開一張圖片,使用 pytesseract 識別。
代碼如下:
captcha = Image.open("captcha1.png")result = pytesseract.image_to_string(captcha)print(result)
輸出結(jié)果:沒有問題。
3、我們在試試其他圖片,如下所示
代碼所示:
captcha = Image.open("claptcha2.png")result = pytesseract.image_to_string(captcha)print(result)
處理結(jié)果是有問題,也許是pytesseract沒有辦法處理噪點比較大的內(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、之后再跟第一個圖片處理方式一樣,就可以解決了哦~
好啦,一般情況下,第一種方式,幾行代碼就可以處理完成,還有一些情況可以調(diào)用第二種方式。
以上是“python爬蟲怎么識別圖片驗證碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!