python模拟登入某平台+破解验证码

news2024/9/29 15:31:30
  • 概述

python模拟登录平台,遇见验证码识别!用最简单的方法selenium+da破解验证码,来自动登录平台

详细

python用selenium+xpath模拟登录+破解验证码

先随便找个小说平台
用户登陆 - 书海小说网用户登陆 - 书海小说网用户登陆 - 书海小说网

准备工作

selenium这个模块要用到驱动浏览器,我的是火狐浏览器,win10x64位的,所以我下载了最新版本,

https://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.ziphttps://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.ziphttps://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.zip

当然这个可以根据你们的浏览器来,不一定非要用火狐,下载好了,把文件放到python文件里就可以

破解验证码,那就用打码平台,我现在用的是超级鹰!

里面有很多语言开发文档,咱是python,当然是选python

需要的东西都准备好了,那开始吧

1、导入火狐的驱动浏览器引擎和超级鹰开发文档里面的Chaojiying_Client类

    from selenium.webdriver import Firefox
    from chaojiying import Chaojiying_Client

2、锁定url、利用selenium跳转到这个网址页面

web.get('http://www.shuhai.com/login')

3、先观察一下这个登录界面

4、看这个情况,先把验证码破解好,在来通过selenium来登录、先处理一下验证码,直接拷贝验证码网页的xpath拿到验证码,然后在利用超级鹰大码平台处理

img = web.find_element_by_xpath('//*[@id="checkcode2"]').screenshot_as_png

5、验证码拿到了!然后用超级鹰打码平台,破解

chaojiying = Chaojiying_Client('用户名', '用户密码', '96001')

dic = chaojiying.PostPic(img,1902)

# 这个两段代码超级鹰开发文档里面有,直接拷贝过来!用户名:账号!用户密码:密码

6、破解到验证码,现在把它提取出来

verify_code = dic['pic_str']

7、验证码现在搞好了!现在就是把用户名、密码、和提取好的验证码放进来!和验证码一样,直接拷贝用户名、密码、的xpath,然后直接放进去就可以了

 
  1. # 通过xpath填入用户名
    web.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/form/div[2]/div[1]/div[2]/input').send_keys("@the虫子")

 
  1. # 填写密码
    web.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/form/div[2]/div[2]/div[2]/input').send_keys("zhang123456")

 
  1. # 填写验证码
    web.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div[2]/form/div[2]/div[3]/div[2]/input').send_keys(verify_code)

8、设置个时间,避免太快卡主,设置填写用户名、密码、验证码为5秒

 
  1. time.sleep(5)

9、用户名、密码、验证码都填写好了,现在就差登入了,和上面一样,直接拷贝登入按钮的xpath

web.find_element_by_xpath('//*[@id="dosubmit"]').click()

10、同样也设置个点击登入时间为5秒

 
  1. time.sleep(5)

这样我们的模拟登入+验证码识别程序就写完了,咱看看架构和运行结果

项目架构

运行结果

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谷歌浏览器如何设置不自动更新

谷歌浏览器如何设置不自动更新 第一步:右键点击“此电脑”,找到“管理”并点击,如果右键不能直接看到“管理”,可以点击“显示更多选项”找一下。 点击‘管理’后的截图 第二步:打开“任务计划程序”——“任务计划…

python自动化入门之Python编写脚本实现自动化爬虫详解

想知道如何使用Python轻松高效地获取网络上的信息? 本篇文章将探索Python自动化爬虫,并展示如何编写实用的脚本。 1. 什么是Python爬虫? 爬虫顾名思义,就是像蜘蛛一样在网络上爬行,抓取各种有用信息的一种程序。而Pyt…

二、MySQL数据库

MySQL数据库 一、MySQL基础 1、什么是关系型数据库? 关系型数据库是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多) 关系型数据库中,我们的数据都被存放在各种表…

Acrel-2000系列监控系统在亚运手球比赛馆建设10kV供配电工程中的应用-安科瑞黄安南

摘要:智能化配电监控系统是数字化和信息化时代应运而生的产物,已经被广泛应用于电网用户侧楼宇、体育场馆、科研设施、机场、交通、医院、电力和石化行业等诸多领域的高/低压变配电系统中。安科瑞自研的Acrel-2000系列监控系统可监控高压开关柜、低压开关柜、应急发…

Redis Pub/Sub 指南

Redis 不仅仅是一个数据库,还可以作为支持发布和订阅(Pub/Sub)操作的消息代理。本文将使用 Navicat for Redis 简要概述 Redis 的 Pub/Sub 功能。 关于发布或订阅消息范式 Pub/Sub 是一种模式,发送者(广播者&#xf…

银河麒麟服务器arm安装qemu虚拟机

脚本 yum install -y virt-viewer virt-v2v libvirt* qemu* virt-manager 等待安装完成 打开虚拟系统管理器 接下来就可以新建虚拟机了

山西电力市场日前价格预测【2023-08-24】

日前价格预测 预测明日(2023-08-24)山西电力市场全天平均日前电价为319.98元/MWh。其中,最高日前电价为370.78元/MWh,预计出现在19: 30。最低日前电价为272.42元/MWh,预计出现在12: 45。 价差方向预测 1: 实…

Wlan——STA上线流程与802.11MAC帧讲解以及报文转发路径

目录 802.11MAC帧基本概念 802.11帧结构 802.11MAC帧的分类 管理帧 控制帧 数据帧 STA接入无线网络流程 信号扫描—管理帧 链路认证—管理帧 用户关联—管理帧 用户上线 不同802.11帧的转发路径 802.11MAC帧基本概念 802.11协议在802家族中的角色位置 其中802.3标…

Git,分布式版本控制工具

1.为常用指令配置别名(可选) 打开用户目录,创建.bashrc文件 (touch ~/.bashrc) 2.往其输入内容 #用于输出git提交日志 alias git-loggit log --prettyoneline --all --graph --abbrev-commit #用于输出当前目录所有文…

BES SDK 各算法模块所占Flash空间大小估计

他V hezkz17进数字音频系统研究开发交流答疑群(课题组) 1

shell 10(shell系统函数)

一、系统函数 Shell编程和其他编程语言一样,有函数,函数是由若干条shell命令组成的语句块,实现Shel脚本代码重用和模块化编程。 1.1 系统函数 系统自带提供的函数,可以直接使用. basename函数用于获取文件名的函数,根据给出的文件路径截取…

Leetcode刷题之1658. 将 x 减到 0 的最小操作数

题目: 算法分析: 可以看出,这道题本意是从计算两侧和为x 的数字, 要求数量最少, 那我们可以反向思考, 假如整个数组的和为sum, 那么我们就可以求中间部分和为sum-x的数字(当然必须连续), 当中间部分的数字同时达到和为sum-x以及长度最长两个要求时, 两侧数字也就达到了和为x以…

【PHP】函数-作用域可变函数匿名函数闭包常用系统函数

文章目录 函数定义&使用命名规则参数种类默认值引用传递函数返回值return关键字 作用域global关键字静态变量 可变函数匿名函数闭包常用系统函数输出函数时间函数数学函数与函数相关函数 函数 函数:function,是一种语法结构,将实现某一个…

PIL.Image和base64,格式互转

将PIL.Image转base64 ##PIL转base64 import base64 from io import BytesIOdef pil_base64(image):img_buffer BytesIO()image.save(img_buffer, formatJPEG)byte_data img_buffer.getvalue()base64_str base64.b64encode(byte_data)return base64_str将base64转PIL.Image …

WiFi天线和NB-IoT天线不通用

表面看起来完全一样。但是把WiFi天线插到NB-IoT设备后,信号弱了很多。还导致设备反复重启

使用Coding对java项目进行自动化的部署 (亲测有用)

Coding是啥嘞?看看百度百科把 https://baike.baidu.com/item/coding/8921246?fraladdin 普通部署和自动化部署比较 普通部署:打jar包->将jar包上传到服务器->执行java -jar命令,好像也不是很麻烦… coding自动化部署:提交…

bh004- Blazor hybrid / Maui 使用 BootstrapBlazor UI 库快速教程

1. 建立工程 bh004_BootstrapBlazorUI 源码 2. 添加 nuget 包 <PackageReference Include"BootstrapBlazor" Version"7.*" /> <PackageReference Include"BootstrapBlazor.FontAwesome" Version"7.*" />3. 添加样式表文…

【实例分割】(二)Mask2Former

mask2former提出了一个统一的分割架构&#xff0c;能够在语义分割、实例分割、全景分割上取得sota的结果&#xff0c;在coco数据集上&#xff0c;全景分割57.8PQ、实例分割50.1AP、语义分割在ADE20K达57.7miou。 目录 1.&#x1f353;&#x1f353; 网络总体结构 2.&#x…

Android GreenDao数据库升级(附Demo)

前言 大家好久不见&#xff0c;一转眼马上八月份下旬了&#xff0c;最近由于工作比较忙&#xff0c;没时间给大家更新博文。百忙之中抽出时间&#xff0c;给大家来更新一篇关于GreenDao3数据库的升级。 关于GreenDao的详细介绍以及一些逻辑性的增、删、改、查等&#xff0c;可以…