""" 超级鹰 """ from hashlib import md5 import requests class Chaojiying_Client(object): def __init__(self, username, password, soft_id): self.username = username password = password.encode('utf8') self.password = md5(password).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() # 主函数 def get_imgcode(imgurl): # 请求验证码图片地址 res=requests.get(imgurl) img=res.content # 写入本地 with open ('./img/a.jpg','wb') as f: f.write(img) # 超级鹰读图解码 supering = Chaojiying_Client('17679962*', '0820@*', '9013*') # 用户中心>>软件ID 生成一个替换 96001{三个参数值见D:汇界首单元测试api_unittest ools本地脚本} im = open('./img/a.jpg', 'rb').read() # 本地图片文件路径 result = supering.PostPic(im, 1902) # 1902 验证码类型 官方网站>>价格体系 3.4+版 print 后要加() code = result['pic_str'] # 得到的验证码 return code # if __name__ == '__main__': # imgcode=get_imgcode("http://121.36.61.93:8001/captchas/a73989d0-75ad-11eb-86b8-31e2c2832380/LOGIN?rmd=1614656408092") # print(imgcode)