今天跟大家唠唠我最近折腾的——uu云打码平台。
说起来,也是因为最近在搞一个需要频繁验证码登录的玩意儿,手动输入验证码简直要命,效率太低了! 就寻思着能不能搞个自动打码的工具,解放一下双手。
我在网上搜罗了一堆打码平台,看的眼花缭乱。啥XX打码、XX速打码的,感觉都差不多。 后来无意间发现了uu云打码,看介绍说可以自动识别验证码,而且接入也挺简单的,就决定试试水。
第一步肯定是注册账号,这个就不说了,哪个平台都一样。注册完之后,我就开始研究它的API文档。 这文档写的有点糙,看得我脑壳疼。
不过还uu云打码还提供了个“万能打码器”,说是不用懂编程也能接入。我就下载下来,打开一看,emmm... 界面确实挺简洁的,就几个选项。 它有两种模式:窗口模式和截图模式。 我试了试窗口模式,发现识别率不太稳定,有时候能识别,有时候就直接报错。
后来换成了截图模式,效果稍微好一点,但是还是有不少验证码识别不出来。 看来这“万能”也是有水分的。
琢磨来琢磨去,还是得自己写代码接入。 没办法,硬着头皮啃API文档。 看了半天,大概流程是这样:
- 1. 先上传验证码图片到uu云服务器。
- 2. 然后调用API接口,让它识别。
- 3. 识别成功后,会返回验证码结果。
- 4. 如果识别失败,可以重试或者更换其他打码方案。
我用Python写了个简单的脚本,先把验证码图片保存到本地,然后用requests库发送POST请求,把图片上传到uu云。 这部分代码倒是挺简单的,网上有很多例子可以参考。
关键是,上传之后,怎么让uu云识别? 这就要用到它的API接口了。 我仔细研究了API文档,发现需要传递几个参数,比如:
username
:你的uu云账号。password
:你的uu云密码。codefile
:验证码图片的文件名。codetype
:验证码类型,比如数字、字母、混合等等。
我把这些参数填发送POST请求,结果... 报错了! 提示说用户名或密码错误。 我反复检查了几遍,确认没输错! 后来才发现,原来是密码加密方式不对。 uu云要求密码要进行MD5加密。
赶紧加上MD5加密,再次发送请求,这回总算成功了! uu云返回了一个JSON字符串,里面包含了验证码识别结果。 我解析这个JSON字符串,提取出验证码,然后填入到登录表单里。
搞了半天,总算是跑通了! 虽然识别率还不是很高,但是比手动输入快多了。 后面我又针对不同的验证码类型,调整了识别参数,效果提升了不少。
uu云打码平台还是有点用的,至少能解放一部分劳动力。 但是想要达到百分百的识别率,还是有点困难。 需要根据实际情况,不断调整和优化代码。
这回折腾uu云打码,也算是积累了一点经验。 以后再遇到类似的验证码问题,就不会手足无措了。