中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python基于內置庫pytesseract實現圖片驗證碼識別功能

發布時間:2020-09-18 00:18:44 來源:腳本之家 閱讀:174 作者:奔奔-武 欄目:開發技術

這篇文章主要介紹了Python基于內置庫pytesseract實現圖片驗證碼識別功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

環境準備:

1、安裝Tesseract模塊

git文檔地址:https://digi.bib.uni-mannheim.de/tesseract/

下載后就是一個exe安裝包,直接右擊安裝即可,安裝完成之后,配置一下環境變量,編輯 系統變量里面 path,添加下面的安裝路徑:

2、如果您想使用其他語言,請下載相應的數據,(我們只做中文,暫時下載一個中文的文字訓練數據就可以) ,然后將.traineddata文件復制到'tessdata'目錄中。C:\Program Files (x86)\Tesseract-OCR\tessdata

3、配置環境變量:

  編輯 系統變量里面 path,添加下面的安裝路徑:C:\Program Files (x86)\Tesseract-OCR  

  cmd命令模式下測試是否安裝成功:

  tesseract test.jpg text -l chi_sim

4、安裝python的第三方庫:  

  pip install pillow #一個python的圖像處理庫,pytesseract依賴
  pip install pytesseract

5、找到pytesseract的安裝包,C:\Python34\Lib\site-packages\pytesseract,編輯pytesseract.py文件(此步驟必須做,否則運行代碼時會報錯):

  tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

代碼實例:  

簡單驗證碼代碼:

import requests
from PIL import Image
import pytesseract

'''
簡單驗證碼
'''
# 驗證碼地址
url = "https://www.renrendai.com/passport/index/captcha?time=1551682134111"
response = requests.get(url).content

#將圖片寫入文件
with open('yzm.png','wb') as f:
  f.write(response)
f.close()

'''識別驗證碼'''
#第一步:通過內置模塊PIL打開文件
pic = Image.open('yzm.png')
#第二步:識別圖片中的內容
pic_str = pytesseract.image_to_string(pic)
print("驗證碼識別結果為:",pic_str)

百度文庫圖片文檔的識別:

#下載圖片
baidu_url = "https://wkretype.bdimg.com/retype/zoom/4127ed79a26925c52cc5bf99?pn=2&o=jpg_6&md5sum=9cdc209bc34a40ed774f7e14c0be59c4&sign=5dbcb28bf1&png=11238-22475&jpg=41808-117940"
baidu_pic = requests.get(baidu_url).content

#圖片寫入文件
with open('baidu_pic.jpg','wb') as f:
  f.write(baidu_pic)
f.close()

#識別驗證碼
baidu_img = Image.open('baidu_pic.jpg')
baidu_img_str = pytesseract.image_to_string(baidu_img,lang="chi_sim")
print('百度文庫圖片內容為:',baidu_img_str)

復雜的驗證碼,直接識別不了,可以使用超級鷹的第三方接口,如有需要,自己進行賬號的注冊,這里直接貼代碼嘍:

from chaojiying import Chaojiying

chaojiying_url= "http://www.chaojiying.com/include/code/code.php?u=1"
response = requests.get(chaojiying_url).content

with open('rryz.png','wb') as f:
  f.write(response)
f.close()

#讀取文件內容
with open('rryz.png','rb') as f:
  pic1 = f.read()

#調用第三方打碼平臺接口識別驗證碼
yz = Chaojiying(username='*****', password='****', soft_id='****')

res = yz.post_pic(pic1,codetype='1902').get('pic_str') #1902 驗證碼類型
print('識別的結果:',res)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石门县| 晴隆县| 阳信县| 斗六市| 墨竹工卡县| 百色市| 沙洋县| 讷河市| 满洲里市| 北宁市| 湖州市| 天祝| 衡南县| 大连市| 孟津县| 邯郸市| 梅州市| 定兴县| 池州市| 罗城| 关岭| 周至县| 金昌市| 合肥市| 杭锦旗| 阜阳市| 拜泉县| 剑阁县| 福州市| 科尔| 元阳县| 江都市| 深水埗区| 昌邑市| 舒城县| 兴仁县| 北京市| 莲花县| 云梦县| 伊宁市| 兴安盟|