『python爬虫』25. 接入超级鹰处理验证码(保姆级图文)


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

1. 验证码平台的使用

1.1 下载demo程序

注册后在开发文档中下载demo,按照

一个超级鹰(新用户绑定公众号送免费1000题分)
http://www.chaojiying.com/api-14.html(下载python的demo)

在这里插入图片描述

1.2 注册后生成软件id

http://www.chaojiying.com/user/mysoft/do/

在这里插入图片描述

  • 你会得到你的软件ID软件KEY
    在这里插入图片描述

1.3 查验证码类型

http://www.chaojiying.com/price.html(验证码类型对应表)

我们的4位以内英文数字 验证码类型为1004
在这里插入图片描述

1.4 demo文件中填写我们的用户参数测试效果

在这里插入图片描述
a.jpg使我们的验证码图片,chaojiying.py是测试demo文件,我这边为了方便把验证码图片放在新建的文件夹code

if __name__ == '__main__':
    # 用户中心>>软件ID 生成一个替换 96001
    # chaojiying = Chaojiying_Client('超级鹰用户名', '超级鹰用户名的密码', '软件ID')	#用户中心>>软件ID 生成
    chaojiying = Chaojiying_Client('超级鹰用户名', '超级鹰用户名的密码', '软件id')
    # 本地图片文件路径 来替换 a.jpg 有时WIN系统须要//
    im = open('code//a.jpg', 'rb').read()  # im就是图片的所有字节(图片)
    # 1902 验证码类型  官方网站>>价格体系
    result = chaojiying.PostPic(im, 1004)
    print(result)#1-4位英文数字的识别结果 字典类型
    # {'err_no': 0, 'err_str': 'OK', 'pic_id': '1209121250911890365', 'pic_str': '7261', 'md5': '547c0ee1a7023230759c84c451a88fe2'}
    print(type(result))# <class 'dict'>
    print(result.get('pic_str',0)) #7261

2. 分析超级鹰的登录

可以注意到超级鹰的用户登录是需要验证码识别的,我们就用超级鹰自身的验证码识别来识别他自己的登录验证码。

http://www.chaojiying.com/user/login/
  • 验证码图片 xpath /html/body/div[3]/div/div[3]/div[1]/form/div/img
    在这里插入图片描述
    .screenshot_as_png直接将图片转为字节码信息
img = web.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/div/img').screenshot_as_png
  • 然后输入我们的登录信息
  • 账号的xpath /html/body/div[3]/div/div[3]/div[1]/form/p[1]/input
  • 密码的xpath /html/body/div[3]/div/div[3]/div[1]/form/p[2]/input
  • 验证码的xpath /html/body/div[3]/div/div[3]/div[1]/form/p[3]/input
    在这里插入图片描述
  • 点击登录 xpath /html/body/div[3]/div/div[3]/div[1]/form/p[4]/input
    在这里插入图片描述

3. 完整代码

成功登录
在这里插入图片描述

from selenium.webdriver import Chrome
# 导入超级鹰的demo文件
from chaojiying import Chaojiying_Client
import time

web = Chrome()

web.get("http://www.chaojiying.com/user/login/")

# 先获取验证码图片的字节信息,然后调用超级鹰的demo文件中写好的识别方法,传入图片和我们超级鹰的参数,得到识别结果验证码
img = web.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/div/img').screenshot_as_png
chaojiying = Chaojiying_Client('超级鹰用户名', '超级鹰用户名的密码', '软件id')	#用户中心>>软件ID
dic = chaojiying.PostPic(img, 1902)#调用超级鹰demo文件的识别文件方法
verify_code = dic.get('pic_str',0)#如果没有识别结果,赋值为0
if verify_code==0:
    print("没有识别结果,检查是否正确填写了参数")
    time.sleep(1000000)
# 向页面中填入用户名, 密码, 验证码
web.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/p[1]/input').send_keys("超级鹰用户名")
web.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/p[2]/input').send_keys("超级鹰用户名的密码")
web.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/p[3]/input').send_keys(verify_code)

time.sleep(5)
# 点击登录
web.find_element_by_xpath('/html/body/div[3]/div/div[3]/div[1]/form/p[4]/input').click()


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发现你走远了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值