Python模拟登录哔哩哔哩
嘿,各位小伙伴中午好呀,今天要带来点什么干货呢,就从我的实际开发中来给大家带来一个案例吧,如何自动登录哔哩哔哩。
!
接到老大通知,让我自动写一个自动登录哔哩哔哩的脚本,我当然是二话不说直接开怼,咱们的准则是啥,生死看淡,不服就干,干就完了。然而,现实总是被无情打脸,但是不管怎样,终究算是干过它了,下面我们来一一讲解,如何自动登录哔哩哔哩!
/2 准备工作/
chromedriver :浏览器驱动,可以理解为一个没有界面的chrome浏览器。
selenium :用于模拟人对浏览器进行点击、输出、拖拽等操作,就相当于是个人在使用浏览器,也常常用来应付反爬虫措施。
/3 具体步骤/
哔哩哔哩登录URL:https://passport.bilibili.com/login
1、点击登录如下,自动登录blbl最难的一点就是,拖动滑块,对准缺口,正是这一个问题,让我掉了好几根头发,跟上我的脚步,能少踩一个一个坑是一个坑。
2. 可能看到这,稍微会点技术的小伙伴都知道,其实我们根本要解决的问题,就是缺口获取缺口的位置,但是要怎么获取这个缺口的位置呢?
3. 这尼玛,canvas是个啥?其实当时我和你们想法一样,其实呢,这个canvas是个画布,可不是图片,这咋办,这不是图片怎么办呢?
再说,我怎么知道哪个是带缺口图的canvas,经过多次测试,终于算是弄清楚了哪个是背景图,哪个是滑块,我来给大家标注一下。
4. So, 问题又来了,我怎么获取这里面的图片呢?不谈了,直接上图!!!
5. 我们先在游览器前端控制台,通过js代码,选中带缺口的标签,因为是类选中,所以需要取0下标,通过 toDataURL("image/png") 方法,将canvas将里面的图片转为base64位图片,转成base64位图片有啥用呢,来,我们赋值这么这么长的一段base64地址,复制到游览器中。
看到了没?我们梦寐已久带缺口的图片已经呈现出来了。
6 . 下一步怎么办呢?当时我的想法是,如法炮制,获取滑块的的图片,通过opencv模板对比,获取缺口位置。但是事实证明,我又被打脸,我们来看一下滑块图片张啥样。
7 . 是不是看着没什么问题,我们来保存本地试一下看看。
8 . 看出来了没?其实除了滑块以外,其他位置为透明区域,如果有透明区域,是不能通过opencv 模板对比的。这咋办?如果在用opencv处理图像,就是个累活了。
9. 本着能懒就懒 的 原则,直接上第三方平台吧! 本文使用的第三方平台:联众:https://www.jsdati.com/
这个平台还是比较贴心的,还有qq客服,有问题我们还可以问qq客服,暖心
10. 这个平台图 像类型1318为滑块验证码,只需要把带有缺口的图片上传到此网站就好。具体怎么操作呢?说了这么多,我们也该上代码了,详情地址上传到github这里了:https://github.com/cassieeric/python_crawler/tree/master/bilibili_autoLogin,觉得还不错,记得给个star噢!
各位小伙伴自行去联众注册哈,价格还挺香,1元100点,滑动验证码一个2点。
/4 示例效果 /
最后小编给大家录制了一个视频,gif格式的,给大家呈现的效果如下所示:
示例效果.gif
/5 总结 /
今天主要介绍了一种自动登录哔哩哔哩的破解方法,大家可以跟着代码进行实际操作一遍,有问题也可以随时留言噢,后面还会分享其他的第三方服务破解方式,敬请期待吧!
Python模拟登录哔哩哔哩的更多相关文章
- 【Python数据分析】Python模拟登录(一) requests.Session应用
最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- [Python] Python 模拟登录,并请求
Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...
- Python模拟登录实战(三)
目标:模拟登录知乎 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan' import re impor ...
- Python模拟登录实战(二)
目标:1.模拟登录豆瓣,2.自动更改签名和发表说说. 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan ...
- Python模拟登录实战(一)
今天,学习了模拟登录新浪微博.模拟登录主要有两种方式,一.利用Cookie:二.模仿浏览器的请求,发送表单. 法一: Cookie:指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密 ...
- Python模拟登录的几种方法
目录 方法一:直接使用已知的cookie访问 方法二:模拟登录后再携带得到的cookie访问 方法三:模拟登录后用session保持登录状态 方法四:使用无头浏览器访问 正文 方法一:直接使用已知的c ...
- [Python] 模拟登录网站(。。为了之后操作数据。。)
我司的内部管理(Web)系统(日报)着实..(mafan).. 所以,就想自己动手增加一下便利性. 计划是, - 桌面程序 用来方便记录(按自己格式,数据随时保存到sqlite中,备用) 通过一览来确 ...
随机推荐
- Derivative Pricing_2_Vasicek
*Catalog 1. Plotting Vasicek Trajectories 2. CKLS Method for Parameter Estimation (elaborated by GMM ...
- Python 绘图
python绘图库有很多,底层的就是matplotlib,另外还有基于matplotlib的更方便,代码可读性更强的库,比如seaborn.plotnine等.各个库之间的对比: https://ww ...
- 【Unity】关于屏幕自适应的思路
关于NGUI的屏幕自适应,大体思路可以这样做: 比如要实现在屏幕的左侧做一个长条背景: 可以看出这部分图片是和屏幕高度一致的.那么只要得到“制作时的屏幕高度”以及“当前运行屏幕高度”,求两个值的比值, ...
- POJ 3050 Hopscotch 四方向搜索
Hopscotch Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6761 Accepted: 4354 Descrip ...
- 网络OSI七层模型及各层作用 与 TCP/IP
背景 虽然说以前学习计算机网络的时候,学过了,但为了更好地学习一些物联网协议(MQTT.CoAP.LWM2M.OPC),需要重新复习一下. OSI七层模型 七层模型,亦称OSI(Open System ...
- ffmpeg 学习:001-搭建开发环境
介绍 由于命令行的ffmpeg工具无法满足产品的性能要求,需要对视频流进行兼容.所以需要调试有关的参数. FFmpeg全名是Fast Forward MPEG(Moving Picture Exper ...
- pygame库的学习
第一天:我学习了如何设置窗口和加载图片,以及加载音乐.这个库真的很有意思啊,打算py课设就拿这个写了. 代码: import pygamefrom sys import exit pygame.ini ...
- exchange 强制更新全球通讯簿
————-客户端强制更新方式————– Outlook通讯录默认情况需要2-3天同步更新通讯录,可以使用下列方式立即更新通讯录 1. 关闭outlook ,打开下列文件夹 %userprofile%\ ...
- PHP-WebShell-Bypass-WAF
PHP-WebShell-Bypass-WAF PHP WebShell 一句话的结构是:输入和执行,这是经典的PHP 一句话代码: <?php eval($_GET['test']); ?&g ...
- MyBatis 逆向工程(MyBatis 自动生成接口以及xml)的使用
刚学MyBatis逆向工程(还以为要反汇编呢.....) MyBatis逆向工程 个人理解就是链接数据库自动生成相关的增删改查相关的类 以及xml文件 (其中有一些不足 应该就是多表链接的问题需要自己 ...