雲打碼平台測試腳本
閑下來,研究一直比較困惑的驗證碼問題,發現了驗證碼識別平台雲打碼官網 - 驗證碼識別,遠程打碼,遠程答題,驗證碼,識別驗證碼,驗證碼識別系統,全自動識別驗證碼,結合開發文檔寫下腳本,一個驗證碼均價0.02~0.05元,正確率較好。
自行下載DLL:開發文檔 - 雲打碼平台
# -*- coding: cp936 -*-import osimport timefrom ctypes import *YDMApi = windll.LoadLibrary(yundamaAPI)# 雲打碼平台用戶賬號及其密碼username = xxxxxxpassword = xxxxxxdef getVertify(filename): 識別驗證碼 :param filename: 驗證碼路徑 :return: 識別的驗證碼 appId = 2976 # 軟體D,開發者分成必要參數。 appKey = b66d5f677b6a44f38cdff116215890d8 # 軟體密鑰,開發者分成必要參數。 # 例:1004表示4位字母數字,不同類型收費不同。請準確填寫,否則影響識別率。 # 在此查詢所有類型 http://www.yundama.com/price.html codetype = 5000 result = c_char_p(" ") # 分配30個位元組存放識別結果 timeout = 60 # 識別超時時間 單位:秒 # 一鍵識別函數,無需調用 YDM_SetAppInfo 和 YDM_Login,適合腳本調用 # 錯誤代碼請查詢 http://www.yundama.com/apidoc/YDM_ErrorCode.html captchaId = YDMApi.YDM_EasyDecodeByPath(username, password, appId, appKey, filename, codetype, timeout, result) return captchaId, str(result)[10: -2]def main(): 測試主體函數 :return: for index, file in enumerate(os.listdir(data)): filename = data/%s % file result = getVertify(filename) open(result.txt, a).write(%s %s %s
% (filename, result[0], result[1])) print The %d %s is finished! % (index, result[0]) balance = YDMApi.YDM_GetBalance(username, password) print u登陸成功,用戶名:%s,剩餘題分:%d % (username, balance)if __name__ == __main__: BeginTime = time.strftime(%Y-%m-%d %H:%M:%S, time.localtime()) print Begin: + BeginTime main() EndTime = time.strftime(%Y-%m-%d %H:%M:%S, time.localtime()) print Begin:%s
End:%s % (BeginTime, EndTime)
部分結果如下:
登陸官網,可以查看打碼記錄:
推薦閱讀:
※簡單驗證碼識別
※爬蟲項目:破解頂象驗證碼
※工具應用:利用Tesseract-OCR實現驗證碼識別
※用python通過機器學習的方式實現驗證碼識別