使用Python高效解決攜程中文點選驗證碼識別并自動登陸的方法
這兩天有一個業(yè)務(wù)需求,需要登陸不同的攜程賬號獲取訂單信息,但是由于攜程有驗證碼檢測機(jī)制,而且是個中文驗證碼比較難識別,試了幾家人工打碼平臺,要么貴,要么延時高,要么沒辦法24小時運行。最后總算讓我找到一個可以通過機(jī)器識別出來的API接口,準(zhǔn)確率超級高而且延遲只有0.03s左右。(不算上傳圖片的時間)
首先看一下攜程驗證碼長啥樣。。。
攜程驗證碼分為小圖和大圖部分,小圖部分如下:



大圖部分的樣子如下:

原理是要先識別小圖的文字,然后點擊到大圖對應(yīng)文字的正確位置。
這里借助了圖靈驗證碼識別平臺,不是人工打碼的,所以識別很快,準(zhǔn)確率也挺高:
在線圖片驗證碼識別平臺-圖像驗證碼識別打碼平臺-圖片驗證碼打碼平臺-圖靈
官網(wǎng)網(wǎng)址:http://fdyscloud.com.cn
進(jìn)入圖靈驗證碼識別平臺,點擊中文類型:

可以看到圖靈識別平臺提供的幾個中文識別模型。我們這里需要用到的就是 中文通用類型 和 圖片識別類型9。分別點進(jìn)去,會告訴你對應(yīng)的模型ID和接口的調(diào)用方式。
我們也可以直接在網(wǎng)站上先上傳圖片測試一下該模型的識別效果,如下圖:

可以看到效果是很好的,所有的字和位置都識別得相當(dāng)準(zhǔn)確!牛!
廢話不多說,直接發(fā)調(diào)用的Python代碼吧,其實網(wǎng)站上也寫得很詳細(xì)了。
小圖部分識別:
import base64
import json
import requests
# 復(fù)制以下代碼,只需填入自己的賬號密碼、待識別的圖片路徑即可。
# 關(guān)于ID:選做識別的模型ID,會自動生成,無需修改。
def b64_api(username, password, img_path, ID):
with open(img_path, 'rb') as f:
b64_data = base64.b64encode(f.read())
b64 = b64_data.decode()
data = {"username": username, "password": password, "ID": ID, "b64": b64}
data_json = json.dumps(data)
result = json.loads(requests.post("http://www.tulingtech.xyz/tuling/predict", data=data_json).text)
return result
if __name__ == "__main__":
img_path = "C:/Users/Administrator/Desktop/file.jpg"
result = b64_api(username="你的賬號", password="你的密碼", img_path=img_path, ID="82927344")
print(result)大圖部分識別:
import base64
import json
import requests
# 復(fù)制以下代碼,只需填入自己的賬號密碼、待識別的圖片路徑即可。
# 關(guān)于ID:選做識別的模型ID,會自動生成,無需修改。
def b64_api(username, password, img_path, ID):
with open(img_path, 'rb') as f:
b64_data = base64.b64encode(f.read())
b64 = b64_data.decode()
data = {"username": username, "password": password, "ID": ID, "b64": b64}
data_json = json.dumps(data)
result = json.loads(requests.post("http://www.tulingtech.xyz/tuling/predict", data=data_json).text)
return result
if __name__ == "__main__":
img_path = "C:/Users/Administrator/Desktop/file.jpg"
result = b64_api(username="你的賬號", password="你的密碼", img_path=img_path, ID="09322322")
print(result)兩者?除了post data里面的模型ID值不一樣,其他部分都是一樣的。
至此徹底解決了攜程中文點選驗證碼的識別問題?。。?/p>
到此這篇關(guān)于使用Python高效解決攜程中文點選驗證碼識別并自動登陸的方法的文章就介紹到這了,更多相關(guān)Python解決攜程中文點選驗證碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python自動修改電腦靜態(tài)IP地址的實現(xiàn)示例
通過Python自動修改電腦的靜態(tài)IP地址可以極大地提高我們的工作效率,減少手動修改IP地址帶來的錯誤,本文就來介紹一下Python自動修改電腦靜態(tài)IP地址的實現(xiàn)示例,感興趣的可以了解一下2023-11-11
python RabbitMQ 使用詳細(xì)介紹(小結(jié))
這篇文章主要介紹了python RabbitMQ 使用詳細(xì)介紹(小結(jié)),詳細(xì)的介紹了RabbitMQ的概念以及使用,對學(xué)習(xí)RabbitMQ有一定的幫助,非常具有實用價值,需要的朋友可以參考下2018-11-11
Python實現(xiàn)批量修改電腦Windows注冊表
Windows 注冊表是系統(tǒng)的中央配置數(shù)據(jù)庫,幾乎所有系統(tǒng)行為都可以通過注冊表控制,下面我們就來看看如何使用Python 的 winreg 和 wmi 模塊實現(xiàn)注冊表的批量讀寫,備份恢復(fù)和遠(yuǎn)程操作吧2026-05-05
Python桌面應(yīng)用開發(fā)實戰(zhàn)之PyQt的安裝使用
這篇文章主要給大家介紹了關(guān)于Python桌面應(yīng)用開發(fā)實戰(zhàn)之PyQt的安裝使用,PyQt是一個功能強(qiáng)大的Python庫,用于創(chuàng)建圖形用戶界面(GUI)應(yīng)用程序,需要的朋友可以參考下2023-08-08
PyTorch學(xué)習(xí)筆記之回歸實戰(zhàn)
這篇文章主要介紹了PyTorch學(xué)習(xí)筆記之回歸實戰(zhàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05

