超級鷹:selenium專門用來破解各種驗證碼
目前,有相當一部分的驗證碼是:
- 英文數字
- 中文漢子
- 純英文
- 純數字
- 任意特殊字符
- 坐標選擇識別
特別:對於極驗3.0滑動驗證碼, 正在嘗試看可以不用這個解決,畢竟有坐標
使用方法:
1. 先注冊超級鷹賬號並申請軟件ID,注冊頁面鏈接為
https://www.chaojiying.com/user/reg/
注冊賬號后,點擊立即充值,充個倆塊錢,2000積分,可以玩好幾天
2. 然后在后台開發商中心添加軟件ID
3. 點擊“生成一個軟件ID”
4. 然后就會獲得一個軟件ID號,記住這個號,代碼里需要用到
5. 然后下載開發者文檔,用什么語言的,就下載相應的API,這里用python為案例:
6.解壓后,還需要改改一點地方:(下面備注的地方)
import requests
from hashlib import md5
class Chaojiying_Client(object):
def __init__(self, username, password, soft_id):
self.username = username
# todo:更改點一
self.password = md5(password.encode("utf-8")).hexdigest()
self.soft_id = soft_id
self.base_params = {
'user': self.username,
'pass2': self.password,
'softid': self.soft_id,
}
self.headers = {
'Connection': 'Keep-Alive',
'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
}
def PostPic(self, im, codetype):
"""
im: 圖片字節
codetype: 題目類型 參考 http://www.chaojiying.com/price.html
"""
params = {
'codetype': codetype,
}
params.update(self.base_params)
files = {'userfile': ('ccc.jpg', im)}
r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files,
headers=self.headers)
return r.json()
def ReportError(self, im_id):
"""
im_id:報錯題目的圖片ID
"""
params = {
'id': im_id,
}
params.update(self.base_params)
r = requests.post('http://upload.chaojiying.net/Upload/ReportError.php', data=params, headers=self.headers)
return r.json()
if __name__ == '__main__':
# todo: 更改點二,輸入注冊的賬號與密碼,軟件ID--https://www.chaojiying.com/user/mysoft/
chaojiying = Chaojiying_Client('賬號', '密碼', 'id')
# todo: 更改點三:本地圖片文件路徑 來替換 a.jpg 有時WIN系統須要//
im = open('', 'rb').read()
# todo: 更改點四:1902 驗證碼類型--https://www.chaojiying.com/price.html,在官網測試案例可以查看
print(chaojiying.PostPic(im, 9101))
測試用圖:
結果:字典類型的返回值,也就是chaojiying.PostPic(im, 9101)的返回值,鍵“pic_str"的值就是結果
{‘err_no’: 0, ‘err_str’: ‘OK’, ‘pic_id’: ‘6064522022288200019’, ‘pic_str’: ‘7261’, ‘md5’: ‘d4990cca4eadb583e6937293d68f8047’}