验证码识别
验证码识别
识别功能
识别功能是调用,网上的接口的,而且是付费的,但是平均几分钱一条
平台:云打码
注册一个普通用户,充值1块钱就行
然后下载python的demo
# 用户名
username = '填写你注册的用户名'
# 密码
password = '填写你注册的摩玛'
# 软件ID,开发者分成必要参数。登录开发者后台【我的软件】获得!
appid = 8715
# 软件密钥,开发者分成必要参数。登录开发者后台【我的软件】获得!
appkey = 'f9e8d9465ab8e0b3a82e7b844f584615'
# 图片文件
filename = 你的验证码图片路径
# 验证码类型,# 例:1004表示4位字母数字,不同类型收费不同。请准确填写,否则影响识别率。在此查询所有类型 http://www.yundama.com/price.html
codetype = 1004
# 超时时间,秒
timeout = 20
关于软件ID,密钥可以填写以上信息
识别案例
from lxml import etree
import requests
import shibie
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
}
def dow_img():
url="https://so.gushiwen.org/user/login.aspx?from=http://so.gushiwen.org/user/collect.aspx"
res=requests.get(url=url,headers=headers).text
tree=etree.HTML(res)
img_url="https://so.gushiwen.org"+tree.xpath('//*[@id="imgCode"]/@src')[0]
#下载验证码到本地
img_content=requests.get(url=img_url,headers=headers).content
with open("yanzhenma.jpg",'wb')as fw:
fw.write(img_content)
print("验证码下载成功!")
if __name__ == '__main__':
dow_img()
#返回验证码识别结果
jie_guo=shibie.work("yanzhenma.jpg",1004)
print(f"识别结果为:{jie_guo}")
关于识别的功能,我把它封装到shibie.work()
功能里面了