python手工打码_Python学习--打码平台
打码平台介绍
作用:可以通过第三方平台进行智能识别或者人工识别图片。
优点:1. 价格便宜; 2. 使用简单; 3. 识别率高
平台介绍:
- 极验验证码智能识别辅助 [http://jiyandoc.c2567.com/]
- 超级鹰
- 打码兔
- 若快打码
- 等等
流程图:
云打码需要注册开发者账号和用户账号,注册地址:[http://www.yundama.com/]
开发者账号用于,下载DEMO,调试自己的软件
用户账号用于登录,充值,平台是收费的(1元=1000分)
【开发者】
添加我的软件,获取通信秘钥
查看验证码类型:
题分价格:
【用户】
充值
12306的验证码Demoimport http.client, mimetypes, urllib, json, time, requests
######################################################################
class YDMHttp:
apiurl = 'http://api.yundama.com/api.php'
username = ''
password = ''
appid = ''
appkey = ''
def __init__(self, username, password, appid, appkey):
self.username = username
self.password = password
self.appid = str(appid)
self.appkey = appkey
def request(self, fields, files=[]):
response = self.post_url(self.apiurl, fields, files)
response = json.loads(response)
return response
def balance(self):
data = {'method': 'balance', 'username': self.username, 'password': self.password, 'appid': self.appid,
'appkey': self.appkey}
response = self.request(data)
if (response):
if (response['ret'] and response['ret'] < 0):
return response['ret']
else:
return response['balance']
else:
return -9001
def login(self):
data = {'method': 'login', 'username': self.username, 'password': self.password, 'appid': self.appid,
'appkey': self.appkey}
response = self.request(data)
if (response):
if (response['ret'] and response['ret'] < 0):
return response['ret']
else:
return response['uid']
else:
return -9001
def upload(self, filename, codetype, timeout):
data = {'method': 'upload', 'username': self.username, 'password': self.password, 'appid': self.appid,
'appkey': self.appkey, 'codetype': str(codetype), 'timeout': str(timeout)}
file = {'file': filename}
response = self.request(data, file)
if (response):
if (response['ret'] and response['ret'] < 0):
return response['ret']
else:
return response['cid']
else:
return -9001
def result(self, cid):
data = {'method': 'result', 'username': self.username, 'password': self.password, 'appid': self.appid,
'appkey': self.appkey, 'cid': str(cid)}
response = self.request(data)
return response and response['text'] or ''
def decode(self, filename, codetype, timeout):
cid = self.upload(filename, codetype, timeout)
if (cid > 0):
for i in range(0, timeout):
result = self.result(cid)
if (result != ''):
return cid, result
else:
time.sleep(1)
return -3003, ''
else:
return cid, ''
def report(self, cid):
data = {'method': 'report', 'username': self.username, 'password': self.password, 'appid': self.appid,
'appkey': self.appkey, 'cid': str(cid), 'flag': '0'}
response = self.request(data)
if (response):
return response['ret']
else:
return -9001
def post_url(self, url, fields, files=[]):
for key in files:
files[key] = open(files[key], 'rb');
res = requests.post(url, files=files, data=fields)
return res.text
######################################################################
# 用户名
username = 'username '
# 密码
password = 'password'
# 软件ID,开发者分成必要参数。登录开发者后台【我的软件】获得!
appid = 6795
# 软件密钥,开发者分成必要参数。登录开发者后台【我的软件】获得!
appkey = '62a672323232323218be141d9a77463c5'
# 图片文件,上传12306的图片
filename = 'dignshuji.jpg'
# 验证码类型,# 例:1004表示4位字母数字,不同类型收费不同。请准确填写,否则影响识别率。
# 在此查询所有类型 http://www.yundama.com/price.html
# 12306的验证码类型是6701
codetype = 6701
# 超时时间,秒
timeout = 60
# 检查
if (username == 'username'):
print('请设置好相关参数再测试')
else:
# 初始化
yundama = YDMHttp(username, password, appid, appkey)
# 登陆云打码
uid = yundama.login();
print('uid: %s' % uid)
# 查询余额
balance = yundama.balance();
print('balance: %s' % balance)
# 开始识别,图片路径,验证码类型ID,超时时间(秒),识别结果
cid, result = yundama.decode(filename, codetype, timeout);
print('cid: %s, result: %s' % (cid, result))
######################################################################
12306图片
返回结果表示: 第2,7,8张图是订书机
python手工打码_Python学习--打码平台相关推荐
- 跟大家聊聊我们为什么要学习源码?学习源码对我们有用吗?(源码感悟)
来自:源码笔记 1 前言 由于现在微服务很流行,越来越多企业采用了SpringCloud微服务架构,而SpringBoot则是快速构建微服务项目的利器.于是笔者以此为切入点,将SpringBoot作为 ...
- 为什么要学习源码?学习源码对我们有用吗?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1 前言 由于现在微服务很流行,越来越多企业采用了Spr ...
- python语言基本认识_Python学习之认知(一)
第二章(一) 2.1 python介绍 2.1.1 python是一种什么样的语言 编程语⾔主要从以下几个⻆度为进行分类,编译型和解释型.静态语言和动态语⾔.强类型定义语言和弱类型定义语言. 编译 ...
- python你好怎么写_python学习之python入门
一.第一句Python代码 1.在d:/test_py目录下新建一个test.py文件,并在其中写上如下内容: 1print("Hello World") 2.在cmd命令行下执行 ...
- python从入门到_Python学习路线从入门到上手,如何快速Python学习?
因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一.在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言. 风靡的另一个原因是,Python有非常多的第三方库.比如用 ...
- python手工打码_python --爬虫 打码登陆
云平台打码 http://www.yundama.com/ 账号:zhenghongyu 密码: 381650127yhz 豆瓣打码: import http.client, mimetypes, u ...
- python读取python源代码文件_python 学习源码练习(2)——简单文件读取
#文件创建 #!/usr/bin/python3 'makeTextFile.py--create text file' import os ls = os.linesep #get filename ...
- python解析二维码_Python二维码生成识别实例详解
前言 在 JavaWeb 开发中,一般使用 Zxing 来生成和识别二维码,但是,Zxing 的识别有点差强人意,不少相对模糊的二维码识别率很低.不过就最新版本的测试来说,识别率有了现显著提高. 对比 ...
- python爬虫验证码的处理(云打码)_Python 通过打码平台实现验证码的实现
在爬虫时,经常遇到登录需要验证码的情况,简单的验证码可以自己解决,复制的验证码需要借助机器学习,有一定的难度.还有一个简单的方案就是采用付费的打码平台. 比如R若快(http://www.ruokua ...
- python汉字转到ascii码_python中ASCII码字符与int之间的转换方法
ASCII码转换为int:ord('A') 65 int转为ASCII码:chr(65) 'A' 题目内容: 实现一个凯撒密码的变种算法,对输入字符串进行加解密处理 把字母a-z分别循环对应为相距13 ...
最新文章
- Power BI for Office 365(七) Power BI站点
- git/gitee操作手册
- java基础知识回顾之java Thread类学习(七)--java多线程安全问题(死锁)
- c 传图片数据给matlab,c++ - 如何通过UDP将数据从C ++应用程序发送到Matlab并进行绘制 - 堆栈内存溢出...
- 判断目录是否存在,若不存在即创建-Python
- python 之 从list中随机抽取元素
- tomcat_安装卸载启动
- 阿里docker安装mysql_docker安装mysql
- online游戏服务器架构--网络架构
- 100个最古老互联网域名 最久只有23年(附名单)
- mysql sqlite 分页查询_sqlite分页查询
- 程序设计与算法----递归之神奇的口袋
- Django实战(10):单元测试
- poj - 3723 Conscription(最大权森林)
- 关于linux下的iptables 的浅析命令和了解
- MFC的API函数大全
- android车载支持格式视频播放器,Android智能车机必备:十大车载影音应用推荐
- 注册公司选小规模还是一般人?四种判别方式讲得明明白白
- iphone设置邮箱设置_如何使用iPhone设置Chromecast
- Vue简易图片手风琴组件,包含宽度适应(JS操作CSS实现)