首页 > 其他分享 >超级鹰的使用

超级鹰的使用

时间:2022-09-25 14:24:10浏览次数:70  
标签:img 超级 driver 验证码 chaojiying 使用 Chaojiying Client

超级鹰主要作用在我们利用selenium实现自动登录页面时往往会遇到图片类型的验证码,

而超级鹰的作用就是识别验证码返回给我们,下面看下具体的实现。

1.https://www.chaojiying.com/user/login进入超级鹰登录页面注册账号

2.下载demo包

点击开发文档,在各语言sdk例子下载下,下载所需的语言包,这里以python为例

下载完成后解压会有一个chaojiying.py文件,将文件复制到你的项目下。复制完成如果你

的python版本是2无需改动,如果是3,需要在print加上括号。

  3.获取软件id

4.导入chaojiying模块下的Chaojiying_Client类,调用PostPic方法完成识别

from chaojiying import Chaojiying_Client

chaojiying = Chaojiying_Client('用户名', '密码', '软件id')
im = open('需要识别的图片', 'rb').read()

print(chaojiying.PostPic(im, 1902))  # 1902为识别的验证码类型

验证码在价格体系下查看,根据自己的所需查看

5.实例

from chaojiying import Chaojiying_Client


chaojiying = Chaojiying_Client('你的用户名', '你的密码', '	软件id')
im = open('./img/a.jpg', 'rb').read()  # 读取保存的图片

print(chaojiying.PostPic(im, 1902))  # 打印验证码

a.jpg为我本地保存的验证码图片

 运行后发现错误,好东西往往是要收费的,没办法,只好斥资一块钱买个题分

{'err_no': -1005, 'err_str': '无可用题分', 'pic_id': '0', 'pic_str': '', 'md5': ''}

 

 购买完题分后我们再次运行,发现可正常识别的内容在pic_str字段中,这时我们直接获取即可。

{'err_no': 0, 'err_str': 'OK', 'pic_id': '1190913450969630001', 'pic_str': '7261', 'md5': 'aa86ba819b38b65479e5ba42d477ab03'}

6.实践

我们以登录超级鹰页面为例

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

from chaojiying import Chaojiying_Client

driver = webdriver.Chrome()
driver.implicitly_wait(10)  # 设置全局等待
driver.get("https://www.chaojiying.com/user/login/")  # 打开登录页面
driver.find_element(by=By.NAME, value="user").send_keys("你的用户名")  # 填写用户名
driver.find_element(by=By.NAME, value="pass").send_keys("你的密码")  # 填写密码
img_list = driver.find_elements(by=By.TAG_NAME, value="img")
# img_url = img_list[2].get_attribute("src")  # 获取验证码图片地址
img = img_list[2].screenshot_as_png  # 截取定位元素位置的图
# with open("./img/img.png", mode="wb")as f:
#     f.write(requests.get(img_url).content)  # 将图片保存到本地

chaojiying = Chaojiying_Client('你的用户名', '你的密码', '	软件id')
# im = open("./img/img.png", 'rb').read()  # 读取保存的图片
data = chaojiying.PostPic(img, 1902)  # 打印验证码
data = data["pic_str"]  # 获取验证码
driver.find_element(by=By.NAME, value="imgtxt").send_keys(data)  # 填写验证码
time.sleep(3)
driver.find_element(by=By.CLASS_NAME, value="login_form_input_submit").click()  # 点击登录
time.sleep(2)
driver.quit()

  

 

 

 

 

 

 

文章来源:https://www.cnblogs.com/lihongtaoya/ ,请不要转载

标签:img,超级,driver,验证码,chaojiying,使用,Chaojiying,Client
From: https://www.cnblogs.com/lihongtaoya/p/16727694.html

相关文章

  • PS新手教程-如何使用ps将图片制成乐高像素拼图
    如何使用ps将图片制成乐高像素拼图?给大家介绍如何使用ps将图片制成乐高像素拼图,一起来看看吧。PS新手教程-如何使用ps将图片制成乐高像素拼图图片制成乐高像素拼图效果如......
  • 使用 NMF 进行投诉分类
    使用NMF进行投诉分类使用非负矩阵分解的主题建模在这里,我们将在这种技术的帮助下使用NMF(非负矩阵分解),这是一种主题建模方法,我们将检测每张票中出现的模式和重复出现的......
  • 使用 Azure 数据资源管理器(Azure Synapse Analytics 的一部分)的 SecOps 分析平台架构
    使用Azure数据资源管理器(AzureSynapseAnalytics的一部分)的SecOps分析平台架构构建您自己的安全分析平台用例鉴于网络安全对所有组织来说都是一个大问题,我们需要......
  • PowerDesigner 的使用
    教程:https://www.bilibili.com/video/BV1iq4y1u7vj/?p=158 笔记:PowerDesigner使用——有两种常用的模型“概念模型”与物理模型,且相互间可转换。都需要设置实体......
  • 我在 Flutter 应用中使用 Bloc 的方式
    我在Flutter应用中使用Bloc的方式Flutter世界中的每个人(几乎)都知道集团状态管理库。但并不是每个人都知道何时(或如何)使用它。我也是。这篇文章只是我对事物的看......
  • GuavaCache中LoadingCache的使用
    背景LoadingCache是GuavaCache构建缓存实体的方法,是一个支持多线程并发读写、高性能、通用的in-heap(堆)本地缓存。支持key不存在时按照给定的CacheLoader的loader方法......
  • 使用 craco 为 React 项目简单而优雅的路径别名配置
    计划选择最近,做反应项目,然后就想到了为项目配置路径别名,毕竟我一直在看../../../等到这个很不爽,就想着配置一个项目@作为一个项目源代码使用的别名,这是之前完成......
  • 使用hbase时报错ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is ini
    ERROR:org.apache.hadoop.hbase.PleaseHoldException:Masterisinitializingatorg.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2829)ator......
  • 应用Lombok 插件--提高使用 POJO 类的效率
    不评价使用Lombok的好坏什么是Lombok?lombok⼀个优秀的Java代码库,简化了Java的编码,为Java代码的精简提供了⼀种⽅式可以自动生成JavaBean的getter,setter,equal......
  • Logstash 入门实战(2)--安装及使用
    本文主要介绍Logstash的安装及简单的使用,相关的环境及软件信息如下:CentOS 7.9、Logstash8.2.2、Elasticsearch8.2.2。1、安装根据环境下载对应的安装包:https://www.......