赞
踩
使用云打码平台识别验证码的编码流程:
将验证码图片进行本地下载
调用平台提供的示例代码进行图片数据识别
云打码平台:
示例网站: http://www.chaojiying.com 超级鹰
验证码平台:
示例网站:https://www.nowapi.com/?app=account.register
cpde.py
#!/usr/bin/env python # coding:utf-8 # 代码片段有超级鹰平台提供 可以在开发者里面下载 import requests from hashlib import md5 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()
云打码测试.py
# 将验证码下载到本地 import requests from lxml import etree from code import Chaojiying_Client headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62' } url = 'https://www.nowapi.com/?app=account.register' page_text = requests.get(url=url,headers=headers).text # 解析验证码图片img中src属性值 tree = etree.HTML(page_text) code_img_src = tree.xpath('//*[@id="authCodeImg"]/@src')[0] img_data = requests.get(url=code_img_src,headers=headers).content with open('./code.jpg','wb')as fp: fp.write(img_data) # 调用打码平台进行验证码图片识别 if __name__ == '__main__': chaojiying = Chaojiying_Client('账号', '密码', '927610') # 用户中心>>软件ID 生成一个替换 96001 im = open('code.jpg', 'rb').read() # 本地图片文件路径 来替换 a.jpg 有时WIN系统须要// print(chaojiying.PostPic(im, 1902)) # 1902 验证码类型 官方网站>>价格体系 3.4+版 print 后要加()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。