稍稍改写了一下他的demo,用的话直接调用get_code()函数就可以了
新用户还给1000题分测试用,用户名密码填写自己的,验证码类型查看
1 #!/usr/bin/env python 2 # coding:utf-8 3 4 import requests 5 from hashlib import md5 6 7 8 class Chaojiying_Client(object): 9 10 def __init__(self, username, password, soft_id): 11 self.username = username 12 password = password.encode('utf-8') 13 self.password = md5(password).hexdigest() 14 self.soft_id = soft_id 15 self.base_params = { 16 'user': self.username, 17 'pass2': self.password, 18 'softid': self.soft_id, 19 } 20 self.headers = { 21 'Connection': 'Keep-Alive', 22 'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)', 23 } 24 25 def PostPic(self, im, codetype): 26 """ 27 im: 图片字节 28 codetype: 题目类型 参考 http://www.chaojiying.com/price.html 29 """ 30 params = { 31 'codetype': codetype, 32 } 33 params.update(self.base_params) 34 files = {'userfile': ('ccc.jpg', im)} 35 r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files, headers=self.headers) 36 return r.json() 37 38 def ReportError(self, im_id): 39 """ 40 im_id:报错题目的图片ID 41 """ 42 params = { 43 'id': im_id, 44 } 45 params.update(self.base_params) 46 r = requests.post('http://upload.chaojiying.net/Upload/ReportError.php', data=params, headers=self.headers) 47 return r.json() 48 49 def get_code(): 50 chaojiying = Chaojiying_Client('用户名', '密码', '验证码类型') 51 im = open('要识别的图片的路径', 'rb').read() 52 return chaojiying.PostPic(im, 3004)['pic_str'] 53 54 55 56