使用第三方打码平台图鉴识别滑动验证码模拟登录

文章目录

  • 一.图鉴的账户注册
      • 识别流程
  • 二.欧模网案例滑动验证码模拟登录
      • 页面分析
  • 三.代码分析
  • 四.欧模网案例展示
  • 总结

一.图鉴的账户注册

图鉴网页地址: http://www.ttshitu.com/

登录后充值一个提分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把这个python脚本复制保存到一个python文件中去

识别流程

首先你要先确定验证码的类型,然后选择类型对应的编号

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二.欧模网案例滑动验证码模拟登录

页面分析

我们就用邮箱登录为例
在这里插入图片描述
我们点击登录后会有一个滑动验证码的验证,这就是我们主要的问题,下面我们将用代码来实现它
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三.代码分析

这个距离是验证码相对原背景图片的距离
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

这里可以看出小图片的宽为340px,而大图片的宽为670px,且缺口距离大图边缘398px,这里设小图片缺口距离小图片边缘Xpx,利用相似的性质可以得到
X = (398/670)*340
在这里插入图片描述

在这里插入图片描述

这里减去了30px是因为验证码不需要滑动前面的那段距离

在这里插入图片描述

实行了一切动作链的操作,实行之前记得要导入一个第三方库from selenium.webdriver.common.action_chains import ActionChains,而且当你实行了动作链操作后要记得使用action.perform()方法提交动作链操作,最后要再次去实例化一个动作链去松开鼠标,因为前面有一个click and hold()按住鼠标的方法,要用action.release()去松开鼠标
在这里插入图片描述
最后是一个模拟客户端滑动验证码的操作,这里为了避免验证码验证出错,做了一个异常捕获,并且点击刷新按钮,让它重新获取验证滑块进行拖动滑块验证

四.欧模网案例展示

from selenium import webdriver
import base64
import json
import requests
from PIL import Image
from time import sleep
from selenium.webdriver.common.action_chains import ActionChainsdef base64_api(uname, pwd, img, typeid):with open(img, 'rb') as f:base64_data = base64.b64encode(f.read())b64 = base64_data.decode()data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64}result = json.loads(requests.post("http://api.ttshitu.com/predict", json=data).text)if result['success']:return result["data"]["result"]else:return result["message"]return ""driver = webdriver.Chrome()
driver.maximize_window()driver.get('https://www.om.cn/login')# 点击 手机/邮箱
driver.find_element_by_xpath('//*[@id="__layout"]/div/div/div/div[2]/div/div[1]/div[3]/div/div[1]/span').click()# 点击 邮箱登录
driver.find_element_by_xpath('//*[@id="__layout"]/div/div/div/div[2]/div/div[1]/div[2]/div[1]/div[2]/span').click()# 输入邮箱
driver.find_element_by_xpath('//*[@id="__layout"]/div/div/div/div[2]/div/div[1]/div[2]/div[2]/div[2]/input').send_keys('你注册的邮箱')# 输入密码
driver.find_element_by_xpath('//*[@id="__layout"]/div/div/div/div[2]/div/div[1]/div[2]/div[2]/div[4]/input').send_keys('你注册的网页密码')# 点击登录按钮
driver.find_element_by_xpath('//*[@id="__layout"]/div/div/div/div[2]/div/div[1]/div[2]/div[2]/button').click()
sleep(1)  # 加载验证码# 切换框架
driver.switch_to.frame('tcaptcha_iframe_dy')element = driver.find_element_by_id('slideBg')
src = 'https://t.captcha.qq.com' + element.get_attribute('style').split(r'"')[1]  # 背景图片
exit()
content = requests.get(url=src).contentwith open('./code.png', 'wb') as f:f.write(content)# 识别图片验证码的位置
img_path = "./code.png"
result = base64_api(uname='xpBear', pwd='xp1693889638', img=img_path, typeid=33)
print('距离: ', result)num = (int(result) / 672) * 340 - 30  # 滑块移动的距离print('真实距离: ', num)while True:div = driver.find_element_by_xpath('//*[@id="tcOperation"]/div[8]')action = ActionChains(driver)action.click_and_hold(div)  # 长按滑块for i in range(10):action.move_by_offset(num / 10, 0)  # 移动的距离sleep(0.3)action.perform()  # 执行上面的动作action = ActionChains(driver)action.release().perform()  # 释放滑块sleep(1)if driver.title == '欧模网-账户登录':try:driver.find_element_by_xpath('//*[@id="reload"]/img').click()sleep(1)except:breakelse:print('登录成功!')breaksleep(1)print(driver.page_source)

以上代码由于有涉及到账户隐私我用中文描述代替了,大家可以自己注册一个账号去使用这个代码模拟客户端滑动验证码登录,从中去感受一下,相信会有意想不到的乐趣

总结

本篇文章主要是解决爬虫过程中一个滑动验证码如何进行登录的,模拟客户端进行滑动验证的过程,希望本篇文章可以帮助到大家,可以这篇文章在排版上有点乱,但是上面的知识都是我学习成果的分享,给个三连支持一波吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43112.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信工程考研英语复试专有名词翻译

中文英文频分多址Frequency Division Multiple Access码分多址Code Division Multiple Access时分多址Time Division Multiple Access移动通信mobile communication人工智能artificial intelligence水声通信Middle-Range Uwa Communication正交频分复用Orthogonal frequency di…

程序员普遍都有工伤!

作为加班一族、通宵一族、买房一族…程序员的压力可以说非常大了,然而这就出现了一个恶性循环,项目上线要加班,不上线也加班,加班烧脑容易饿,公司福利好,管三餐,待在公司就像家,bug改…

一文看懂新个税计算

目录 一、个税如何计算 1.速算扣除数的使用 2.速算扣除数原理 二、全年应纳税所得额包含什么 1.计算公式 2.减除费用 三、每月个税为啥不一样 一、个税如何计算 最新税率如上表。新个人所得税法的施行时间为2019年1月1日。 1.速算扣除数的使用 举例,小李全…

[附源码]java+ssm计算机毕业设计工伤事故管理系统bzc3b(源码+程序+数据库+部署)

项目运行 项目含有源码(见文末)、文档、程序、数据库、配套开发软件、软件安装教程 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

计算机专业退休有退休金,我参加工作42年,国家公务员退休,二级警督,退休工资为什么按2014年10月份的工资计算机退休费...

咨询我 帮助人数:3463719 退休年龄 根据1978年6月国务院颁发的《关于工人退休、退职的暂行办法》和《关于安置老弱病残干部的暂行办法》(国发[1978]104号)规定,下列几种情况可以办理退休: (1)男性干部、工人年满60周岁,女干部年满…

上海社保金额精确计算公式

公司缴纳社保金额用自己的Excel表格拉出来的数值总是与税务局的《社会保险费缴纳通知书》不一致,网上搜了半天,没有说的清楚的。几个所谓社保计算器,计算的都不对,只有自己琢磨了。 目前积累的经验 公司单位缴纳除了“工伤保险费…

计算机专业毕业设计题目汇总-最新题目 选题 推荐 毕业设计 - 毕设指导 开题报告 论文

计算机专业毕业设计题目汇总-最新题目 选题 推荐 毕业设计 - 毕设指导 开题报告 论文 文末见 点赞再看,养成习惯 小游戏推荐: Java 实现 捕鱼达人 小游戏【附源码】 Java 实现 贪吃蛇 小游戏【附源码】 Java 实现 1024 小游戏【附源码】 Java实现一…

微软语音合成助手 v1.5.1 文本转语音工具,真实语音AI生成器

前言 微软语音合成助手由bill3k使用易语言开发,虽然界面比较简陋,但在功能及使用体验上都是非常优秀的 软件调用官方接口,全部支持ssml,将文字转语音大部分功能都给集成了 虽然用的都是免费接口,原本有字数限制 但…

基于趋动云部署复旦大学MOSS大模型

首先新建项目: MOSS部署项目,然后选择镜像,直接用官方的镜像就可以。 之后选择数据集: 公开数据集中,MOSS_复旦大学_superx 这个数据集就是了,大小31G多 完成选择后: 点击创建,…

微软赢麻了!数十亿文本-图像对训练,多模态Florence开启免费体验,登上Azure...

视学算法报道 编辑:LRS 【导读】前有ChatGPT,后有Florence,微软简直赢麻了! 2021年11月,微软发布了一个多模态视觉基础模型Florence(佛罗伦萨),横扫超过40个基准任务,轻…

重磅炸弹!OpenAI 现场演示官方版 AutoGPT!

编辑:丰色 明敏 转自:量子位 | 公众号 QbitAI OpenAI官方AutoGPT,要来了! 就在AutoGPT项目破10万Star之际,OpenAI也放出重磅炸弹,由联合创始人格雷格布洛克曼(Greg Brockman)亲自现场…

Java数组解析(详解)

数组 前言一、数组的概述1.数组的理解2.数组相关的概念3.数组的特点4. 数组的分类 二、一维数组的使用1. 声明和初始化2. 数组元素的引用3. 如何获取数组的长度4.如何遍历数组5.数组元素的默认初始化值6.数组的内存解析 三、二维数组的使用1. 声明和初始化2. 数组元素的引用3.如…

Unlimited “使用GPT-4 ”!它来了!

备注本文末尾附录注册登录过程 平台介绍: 聊天机器Chat.fore人front.ai是一为款基于人主工智能的题聊天的机器人主平台,旨在帮菜助企,业提可以高客户服务质是量和一效率。该平款台利用自然语精言处理技术和机器致学习的算法,能够自牛动排回答客,户的问题,提供个性化的服…

Android应用耗电量测试

测试方法 测试工具为adb,测试步骤如下: 关闭手机上无关软件。 连接电脑,运行adb shell dumpsys batterystats --reset重置电池记录,重置成功显示“Battery stats reset.”。 断开手机与电脑的连接(连着电脑充电结果…

Android 应用开发的耗电量控制

对于移动平台来说,设备电量有限一直是制约其发展的一个重要因素,作为开发者,功能实现虽然优先级高,但是开发过程中,针对耗电量进行优化也是应该牢记在心的,毕竟一款优质的App在耗电量方面也必须让广大用户满…

使用Batterystats和Battery Historian进行耗电检测

本文主要介绍Batterystats和Battery Historian的基本使用步骤和工作流程,如果您要想学习怎样使用Battery Historian分析耗电详情,请参考文档: Analyze power use with Battery Historian。 Batterystats是一个Android framework中的工具&…

APP-耗电量测试-battery-historian-master

这里主要是比较简单的Battery historian的操作,这个脚本文件只能用在python2版本,python3会语法报错 1.首先要下载并且解压historian的压缩包文件 battery-historian-master.zip Github下载地址 2.然后用adb命令开始操作手机 首先是清除测试前电量的数据 adb she…

Android App 耗电量分析-1

分为新老两个版本的SDK-TOOL,新版的放在另外一篇博客 Android App 电量分析https://blog.csdn.net/kan137g/article/details/84886277 耗电操作主要分为下面几种 高频通信CPU密集型的计算传感器 频繁唤醒系统 解决方案 -减少:您的应用可以裁剪多少操…

耗电优化(上):Android App 耗电分析

这里写目录标题 1. 电量和硬件1.1 App 通过使用硬件模块消耗相应的电能1.2 资源调度机制是厂商功耗优化最重要的手段 2. 电量和应用程序2.1 评估不同应用程序的耗电情况结论:把电量的测量转化为功能模块的使用时间或者次数 2.2 尽可能准确的测量电量bug report结合 …

图文结合,教您如何使用Trepn Profiler测试手机应用的耗电量

摘要:Trepn Profiler 可以帮助准确分析手机应用耗电情况的Android应用,可以测量很多与电池有关的数据,本文将结合图文,详细讲解如何操作。 Trepn Profiler 是一款帮助准确分析手机应用耗电情况的Android应用,可以测量很…