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

概述

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.zip[https://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.zip](https://github.com/mozilla/geckodriver/releases/download/v0.20.1/geckodriver-v0.20.1-win64.zip "https://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,然后直接放进去就可以了

复制代码
复制代码
   # 通过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虫子")
复制代码
复制代码
   # 填写密码
   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")
复制代码
复制代码
   # 填写验证码
   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秒

复制代码
复制代码
   time.sleep(5)

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

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

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

复制代码
复制代码
   time.sleep(5)

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

项目架构

运行结果

相关推荐
2401_894828123 分钟前
从原理到实战:随机森林算法全解析(附 Python 完整代码)
开发语言·python·算法·随机森林
B站计算机毕业设计超人3 分钟前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
玄同7653 分钟前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp
johnny2334 分钟前
Python管理工具:包、版本、环境
python
羽翼.玫瑰5 分钟前
关于重装Python失败(本质是未彻底卸载Python)的问题解决方案综述
开发语言·python
cdut_suye5 分钟前
解锁函数的魔力:Python 中的多值传递、灵活参数与无名之美
java·数据库·c++·人工智能·python·机器学习·热榜
木头左26 分钟前
指数期权备兑策略量化实现
python
CRMEB系统商城34 分钟前
CRMEB多商户系统(PHP)- 移动端二开之基本容器组件使用
运维·开发语言·小程序·php
淮北49439 分钟前
科研绘图工具R语言
开发语言·r语言
小镇学者40 分钟前
【python】python项目是如何部署到服务器上的
服务器·python·github