使用云打码识别验证码
生活随笔
收集整理的這篇文章主要介紹了
使用云打码识别验证码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
1.注冊開發(fā)者云打碼賬號:
注冊賬號
2.添加新軟件
進(jìn)入開發(fā)者后臺->我的軟件->輸入軟件名稱(自定義)
提交成功后,會返回: 軟件代碼即為后面的appId,通訊密匙為:appKey
3.下載對應(yīng)的語言使用說明文檔,這里以python為例:云打碼說明文檔
點擊下載解壓就好了,解壓完之后為:
?
4.到這里就可以干活了:打開編輯器,打開上圖對應(yīng)的python版本文件,這里使用python3
簡單進(jìn)行修改后,就可以使用云打碼進(jìn)行驗證碼識別了
第一回識別,會報1007,是因為沒有充值,這個平帶是收費的,但是我覺得挺劃算的,充一塊錢就能使用很多次
調(diào)用錯誤代碼及排錯
#必須要寫的否則會報錯 # -*- coding: cp936 -*-import sys import os from ctypes import *# 下載接口放目錄 http://www.yundama.com/apidoc/YDM_SDK.html # 錯誤代碼請查詢 http://www.yundama.com/apidoc/YDM_ErrorCode.html # 所有函數(shù)請查詢 http://www.yundama.com/apidocprint('>>>正在初始化...')# 云打碼API即為解壓文件夾中的腳本文件,對應(yīng)自己的系統(tǒng)版本,X64為64位,默認(rèn)使用32位的 YDMApi = windll.LoadLibrary('yundamaAPI')appId = 1 # 軟件ID appKey = b'22cc5376925e9387a23cf797cb9ba745' # 軟件密鑰print('軟件ID:%d\r\n軟件密鑰:%s' % (appId, appKey))username = b'test' password = b'test'if username == b'test':exit('\r\n>>>請先設(shè)置用戶名密碼')# 有兩種方法可以識別驗證碼,以下兩種辦法使用其一即可#方法一. 一鍵識別函數(shù)print('\r\n>>>正在一鍵識別...')# 例:1004表示4位字母數(shù)字,不同類型收費不同。請準(zhǔn)確填寫,否則影響識別率。在此查詢所有類型 http://www.yundama.com/price.html codetype = 1004# 分配30個字節(jié)存放識別結(jié)果 result = c_char_p(b" ")# 識別超時時間 單位:秒 timeout = 60# 驗證碼文件路徑 filename = b'getimage.jpg'# 一鍵識別函數(shù),無需調(diào)用 YDM_SetAppInfo 和 YDM_Login,適合腳本調(diào)用 captchaId = YDMApi.YDM_EasyDecodeByPath(username, password, appId, appKey, filename, codetype, timeout, result)print("一鍵識別:驗證碼ID:%d,識別結(jié)果:%s" % (captchaId, result.value))#方法二.普通識別函數(shù)print('\r\n>>>正在登陸...')# 第一步:初始化云打碼,只需調(diào)用一次即可 YDMApi.YDM_SetAppInfo(appId, appKey)# 第二步:登陸云打碼賬號,只需調(diào)用一次即可 uid = YDMApi.YDM_Login(username, password)if uid > 0:print('>>>正在獲取余額...')# 查詢賬號余額,按需要調(diào)用balance = YDMApi.YDM_GetBalance(username, password)print('登陸成功,用戶名:%s,剩余題分:%d' % (username, balance))print('\r\n>>>正在普通識別...')# 第三步:開始識別# 例:1004表示4位字母數(shù)字,不同類型收費不同。請準(zhǔn)確填寫,否則影響識別率。在此查詢所有類型 http://www.yundama.com/price.htmlcodetype = 1004# 分配30個字節(jié)存放識別結(jié)果result = c_char_p(b" ")# 驗證碼文件路徑filename = b'getimage.jpg'# 普通識別函數(shù),需先調(diào)用 YDM_SetAppInfo 和 YDM_Login 初始化captchaId = YDMApi.YDM_DecodeByPath(filename, codetype, result)print("普通識別:驗證碼ID:%d,識別結(jié)果:%s" % (captchaId, result.value))#返回bytes格式字符串 , 轉(zhuǎn)為utf-8編碼,方便帶入程序直接使用utf_res = result.value.decode('utf-8')else:print('登陸失敗,錯誤代碼:%d' % uid)print('\r\n>>>錯誤代碼請查詢 http://www.yundama.com/apidoc/YDM_ErrorCode.html')云打碼的識別效果還不錯,也不貴,建議大家使用
如有問題,歡迎交流
總結(jié)
以上是生活随笔為你收集整理的使用云打码识别验证码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构中的逻辑结构简介
- 下一篇: 空指针入栈问题