超级鹰主要是用来识别图片形式的验证码,进行登录验证的。
使用流程:
注册账号领取1000题分,新用户可以享受1000题分的优惠。
进去页面之后,点击开发文档:
这里面有很多语言的使用,这篇博客介绍python的使用。
找到python语言 点击下载
解压后,将chaojiying.py文件拷贝到你当前项目中。
然后在项目中导入这个模块
from chaojiying import Chaojiying_Client
使用:id是自己创建一个软件id然后生成的那一份
if __name__ == '__main__':
chaojiying = Chaojiying_Client('', '', '') #用户中心>>软件ID 生成一个替换 96001
im = open('a.jpg', 'rb').read()
#本地图片文件路径 来替换 a.jpg 有时WIN系统须要//
print( chaojiying.PostPic(im, 1902))
#1902 验证码类型 官方网站>>价格体系 3.4+版 print 后要加()
#print chaojiying.PostPic(base64_str, 1902)
#此处为传入 base64代码
其中im是二进制数据,所以你可以直接获取验证码的二进制数据进行解析,然后直接传递个chaojiying.PostPic即可,返回的是一个json格式的数据,直接解析即可
注意自己需要的验证码格式,然后选择对应的类型 chaojiying.PostPic(参数一, 需要类型)
案例:
使用超级鹰解析超级鹰的验证码
import requests
from lxml import etree
from chaojiying import Chaojiying_Client
if __name__=='__main__':
url = "https://www.chaojiying.com/user/login/?url=/user/mysoft/"
response = requests.get(url)
en = etree.HTML(response.text)
imgUrl = "https://www.chaojiying.com/" + en.xpath("/html/body/div[3]/div/div[3]/div[1]/form/div/img/@src")[0]
img = requests.get(imgUrl).content
chaojiying = Chaojiying_Client('167824907', '167824907', '3face3945671c4ef1ad580db692802b7')
#可以直接使用 第一个参数是二进制数据 第二个数据是验证码类型
data = chaojiying.PostPic(img, 1902)
print(data['pic_str'])