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

2023-10-31

  • 概述

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)

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

项目架构

运行结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python模拟登入某平台+破解验证码 的相关文章

  • 如果两点之间的距离低于某个阈值,则从列表中删除点

    我有一个点列表 只有当它们之间的距离大于某个阈值时 我才想保留列表中的点 因此 从第一个点开始 如果第一个点和第二个点之间的距离小于阈值 那么我将删除第二个点 然后计算第一个点和第三个点之间的距离 如果该距离小于阈值 则比较第一点和第四点
  • Lighttpd 和 cgi python

    我正在尝试通过 lighttpd 执行一些 python 脚本 但是当我尝试运行它时 我只得到一个要求我下载的空白文件 lighttpd conf server modules mod access mod alias mod access
  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 保存为 HDF5 的图像未着色

    我目前正在开发一个将文本文件和 jpg 图像转换为 HDF5 格式的程序 用HDFView 3 0打开 似乎图像仅以灰度保存 hdf h5py File Sample h5 img Image open Image jpg data np
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 根据列 value_counts 过滤数据框(pandas)

    我是第一次尝试熊猫 我有一个包含两列的数据框 user id and string 每个 user id 可能有多个字符串 因此会多次出现在数据帧中 我想从中导出另一个数据框 一个只有那些user ids列出至少有 2 个或更多string
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk

随机推荐

  • 多级代理下Nginx透传真实IP

    文章目录 多级代理下Nginx透传真实IP Nginx RealIP获取真实IP 多级代理下Nginx透传真实IP 1 基于代理 七层负载均衡 情况下 透传客户端的真实IP 环境 10 0 0 5 proxy node1 一级代理10 0
  • ERROR: Failed building wheel for dlib python 3.10 无法下载 pip/conda install dlib库的解决办法

    如果您在Python 3 10版本中无法使用pip安装dlib库 可能是由于以下原因之一 您的Python版本不支持dlib库 请确保您的Python版本与dlib库的版本兼容 您的pip版本不支持dlib库 请确保您的pip版本与dlib
  • plc模拟量与通信控制应用实践_第三版电气控制与PLC应用模块三教材答案

    很高兴这期为你分享干货 让你在困难中找到解决的线索 模块三答案 任务一 思考与练习 1 PLC 主要应用在哪些场合 答 1 开关量逻辑控制 2 模拟量过程控制 3 运动控制 4 现场数据采集处理 5 通讯联网 多级控制 2 PLC 的基本结
  • 文件打包发布

    本文基于VS Qt和VTK环境开发软件 生成可执行文件 通过软件ProcessExplorer查找发布软件所需要的库和通过软件VNISEdit打包该可执行文件 1 添加QT所需要的环境 2 添加VTK所需要的环境 3 文件打包发布 1 添加
  • windows上同时安装两个版本的mysql数据库

    在实际开发中 一些低版本数据库 不支持一些特殊的sql语句 因此高版本数据库数据导入低版本的时候就会出问题 因此 在一些特殊情况下 低版本数据库不能动 高版本mysql数据又无法导入低版本mysql 我们不得不在同一台机器上安装两个版本my
  • 关于使用get请求传递base64的注意事项

    关于使用get请求传递base64的注意事项 我们知道 get请求和post请求是有区别的 1 GET请求是用来请求获取数据 POST一般作为发送数据到后台时使用 并不返回数据 2 GET请求也可传参到后台 但是其参数在浏览器的地址栏的ur
  • Lambdda表达式( Java 8 )

    在Java的语言世界里面 除了基本的数据类型 一切都是对象 例如 String字符串 每个对象实例 数组这些都是对象 在Java中方法是不能完全独立存在的 不能将方法作为参数或者返回值给实例 注意 方法 Method 函数 Function
  • SAP 下载SMW0模板文件并附加数据导入到Excel示例

    1 效果 下载模板后 导入内表数据到Excel 2 代码 关键代码DATA excel TYPE ole2 object Excel object worksheet TYPE ole2 object workbooks TYPE ole2
  • js获取地址栏参数function封装

    获取地址栏参数 function GetQueryString name var reg new RegExp name var r window location search substr 1 match reg if r null r
  • 《每日一题》NO.14:名词解释 后端设计篇

    芯司机 每日一题 会每天更新一道IC面试笔试题 其中有些题目已经被很多企业参考采用了哦 聪明的你快来挑战一下吧 今天是第14题 各大IC公司的笔试题经常会从名词解释开始 所以我们给大家精心准备了50个名词解释题 每天更新10个 务求将名词解
  • 2021-3-26 米斯特安全团队视频笔记二(含PHP)

    DOS命令 常用Dos命令 1 通配符 号 代替0或多个字符 号 代替一个字符 2 查看命令 3 操作命令 信息搜集 whois 备案 PHP 变量 命名格式 美元字符开头 字母 下划线 不能跟数字 特殊符号 name key 常量 通过d
  • HTML <u> 标签

    实例 使用 u 标签为文本添加下划线 p 如果文本不是超链接 就不要 u 对其使用下划线 u p 定义和用法 u 标签可定义下划线文本 浏览器支持 元素 Chrome IE Firefox Safari Opera u Yes Yes Ye
  • maven jetty 插件的使用

    jetty插件的安装 首先打开项目的pom xml文件 然后找到build节点 在其中添加plugins节点 然后再添加如下的插件
  • 清华大学uCore-操作系统内核实现

    本系列文章是学堂在线清华大学操作系统慕课 课程实验 实现uCore内核的讲义总结及个人攻略 如果有对课程感兴趣的朋友建议看原课程 前置知识 即提前要掌握的知识 C语言和汇编语言 数据结构和算法 计算机组成原理 实验内容 Lab1 uCore
  • Rust 学习笔记之内存管理与生命周期

    内存管理是理解低级语言 和硬件相关的 的基础概念 低级语言没有提供自动内存管理的解决方案 例如内置垃圾回收器 它要求程序员自己在程序中管理内存 理解内存何时何地被创建和释放可以使得程序员构建出一个高效 安全的软件 然而 低级语言的大量错误也
  • 设计模式第八讲:观察者模式和中介者模式详解

    一 观察者模式 1 背景 在现实世界中 许多对象并不是独立存在的 其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变 例如 某种商品的物价上涨时会导致部分商家高兴 而消费者伤心 还有 当我们开车到交叉路口时 遇到红灯会
  • perl中CPAN的安装

    最近一直在学习nagios监控的知识 因为使用SNMP方式进行监测 而nagios的SNMP监测文件是pl结尾的perl脚本 所以需要安装CPAN 下面就安装CPAN的安装记录步骤如下 首先安装perl 可以通过yum方式进行安装 这样减少
  • STM32F0不同代码区跳转时总失败…这些操作你做对了吗?

    STMCU官网更新了一则实战经验文件 文章以STM32F0为例 就芯片内 从BOOT区跳转到APP区 从APP区跳转到新APP区 从APP区跳回BOOT区 的跳转问题做一些交流与介绍 更多信息请前往官网详情页 文章导读 对于STM32用户
  • java 顺序结构循环队列(源代码)

    1 import java util Arrays 2 public class LoopQueue
  • python模拟登入某平台+破解验证码

    概述 python模拟登录平台 遇见验证码识别 用最简单的方法selenium da破解验证码 来自动登录平台 详细 python用selenium xpath模拟登录 破解验证码 先随便找个小说平台用户登陆 书海小说网用户登陆 书海小说网