验证码模拟登录TestHome
前面我们做了一个xsrf的知乎的模拟登录,那么今天将会给大家分享一下小弟写的一段带验证码的登录脚本。
importrequestsfromPILimportImageimportosimporttimessesion = requests.session()headers = {'Connection':'keep-alive','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Language':'zh-CN,zh;q=0.8','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36','Accept-Encoding':'gzip, deflate, sdch','server':'nginx',}login_data = {'username':'',# 替换为账号'password':'',# 替换为密码'Referer':'https://testerhome.com/',}captchaurl ='https://testerhome.com/rucaptcha/'url ='https://testerhome.com/account/sign_in'r = ssesion.get(captchaurl,headers=headers) defoncaptcha(): f =open('C:\\Users\\admin\\Desktop\\captcha.jpg','wb')f.write(r.content)cap = Image.open('C:\\Users\\admin\\Desktop\\captcha.jpg')captch = Image._show(cap)time.sleep(5)captcha ='taskkill/f /IM dllhost.exe'os.system(captcha)Captcha =input('captcha:')returncaptch,Captchaoncaptcha()这里这段代码笔者做的时候难点就是验证码的图片的展示,以及定时的关闭。因为没有接触过这块儿,所以也做了两天的时间。
在这里我只给大家解读一下oncaptcha函数里的代码。上面的代码实在是讲过太多次了,就不做解读了。
第一部分,我们将获得到的返回内容,以二进制的形式写入到指定的地址和文件中
然后,通过Pillow(Python3.5)模块的Image.show()方法,打开win的图片查看器,展示验证码图片
接着,我使用time模块的time.sleep()方法设置了一个休眠期,休眠时间为5s
然后我通过os模块的os.system()方法去杀掉了win里面的图片查看器的进程,关闭了验证码
最后使用input()方法,输入验证码
为什么我这里使用os.system呢?因为我没有找到其他的关闭验证码图片的方法!然后...我想了想,这个图片验证码是调了win的服务进行展示,所以就利用os.system去杀掉它的进程进行关闭。
好了,最难得部分已经解决了,那么我们来看看完整的模拟登录的代码:
importrequestsfromPILimportImageimportosimporttimessesion = requests.session()headers = {'Connection':'keep-alive','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Language':'zh-CN,zh;q=0.8','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36','Accept-Encoding':'gzip, deflate, sdch','server':'nginx',}login_data = {'username':'',# 替换为账号'password':'',# 替换为密码'Referer':'https://testerhome.com/',}captchaurl ='https://testerhome.com/rucaptcha/'url ='https://testerhome.com/account/sign_in'r = ssesion.get(captchaurl,headers=headers) defoncaptcha(): f =open('C:\\Users\\admin\\Desktop\\captcha.jpg','wb')f.write(r.content)cap = Image.open('C:\\Users\\admin\\Desktop\\captcha.jpg')captch = Image._show(cap)time.sleep(5)captcha ='taskkill/f /IM dllhost.exe'os.system(captcha)returncaptchdeflogin():oncaptcha()Captcha =input('captcha:')login_data['captcha']=Captcharesponse = ssesion.get(url,headers= headers,data= login_data,)print(response)if__name__ =='__main__':login()
嗯哼,这次的分享就到这里,有兴趣的朋友可以自己多多练习。
转载于:https://www.cnblogs.com/rookie-c/p/5753401.html
验证码模拟登录TestHome相关推荐
- 使用第三方打码平台图鉴识别滑动验证码模拟登录
文章目录 一.图鉴的账户注册 识别流程 二.欧模网案例滑动验证码模拟登录 页面分析 三.代码分析 四.欧模网案例展示 总结 一.图鉴的账户注册 图鉴网页地址: http://www.ttshitu.c ...
- python—简单数据抓取四(利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站、利用百度云的ocr识别自如租房网价格图片获取到自如网的价格)
学习目标: python学习二十四 -简单数据抓取四 学习内容: 1.利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站 2.利用百度云的ocr识别自如租房网的价格图片,获取到自如网的价格数据 1.利 ...
- 识别验证码模拟登录微博
前言:在微博进行模拟登录时需要点击验证码,使用网上打码平台来对验证码进行识别,完成登录. 1.模拟登录: 首先登录微博:https://passport.weibo.cn/signin/login 我 ...
- 模拟登录QQ判断是否需要验证码
老生常谈的问题了,在模拟登录之前,判断是否需要验证码: https://ssl.ptlogin2.qq.com/check?uin=QQ号码&appid=1003903&js_ver= ...
- python爬虫登录有验证码_大神教你用Python爬虫模拟登录带验证码网站
爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 首先得明白cookie的作用, ...
- python 网站发送验证码_Python爬虫模拟登录带验证码网站
爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 首先得明白cookie的作用, ...
- 2019年最新 Python 模拟登录知乎 支持验证码
2019年最新 Python 模拟登录知乎 支持验证码和保存 Cookies 知乎的登录页面已经改版多次,加强了身份验证,网络上大部分模拟登录均已失效,所以我重写了一份完整的,并实现了提交验证码 (包 ...
- python爬虫——利用超级鹰识别验证码并进行古诗网进行模拟登录
目录 前言 一.超级鹰的注册 二.利用xpath解析登录页面的验证码图片 三.利用超级鹰识别获取验证码 四.模拟浏览器发送请求进行模拟登录 五.验证是否模拟登录成功 前言 本文章是利用python爬虫 ...
- 新浪微博模拟登录分析(含验证码)
实验室项目结题需要爬取新浪微博的内容做实验,师兄提供了一份已实现的微博爬虫系统.本身可以轻松愉快的完成语聊收集这一部分,然而自己的微博账号始终登录失败.究其原因,结果是登录时需要验证码.而系统对于需要 ...
最新文章
- ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口
- 你就是你自己paper最好的审稿人:宾大苏炜杰提出peer review新机制
- SAP PM 初级系列22 - IW38可以批量处理维修工单
- 闪电网络运行过程中存在的一些问题
- boost::geometry模块多边形叠加示例
- 关于reduce中遍历2次数据的问题
- C指针详解(经典,非常详细)
- 原生js cookie的使用实例setCookie()、getCookie()方法
- Java图片处理(二)图片加水印
- 软件构造学习笔记-实验1
- c#反混淆工具de4dot 一般混淆都可以解决
- Linus 在圣诞节想提前放假做了这些解释,哈哈哈
- Kubernetes-NodePort(十七)
- EverWeb for Mac(网页设计软件)
- 完美解决电脑老是弹出广告窗口!
- java服务端–支付宝APP支付接口
- Trainning 1 DAY
- λ-矩阵(矩阵相似的条件)
- WIN10 共享 访问WIN7提示 出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问
- cisco交换机dhcp***防范
热门文章
- ES系列3-ES中基本概念
- 中科大少年班,官方公布48名新生名单,有人因偶像曹原,有人只是不想经历高三...
- 电磁继电器与固态继电器
- 记账本借还款管理,如何搜索查看借款
- WebXR教程大全之如何使用 A-Frame 制作 WebXR 游戏(教程含源码)
- 区块链和人工智能:完美匹配
- 微信收费的真相,你不可不知道!
- Ubuntu Linux的安装
- centos安装chrome 无法运行 Running as root without --no-sandbox is not supported ygote_host_impl_linux.cc
- 问题 H: 迷宫问题