Python奇淫技巧之自动登录哔哩哔哩

来自:涛哥聊Python 2020-01-07

点击上方“ 涛哥聊Python ”,选择“星标”公众号

重磅干货,第一时间送达

来源: Python爬虫与数据挖掘

/1 前言/

嘿,各位小伙伴中午好呀,今天要带来点什么干货呢,就从我的实际开发中来给大家带来一个案例吧,如何自动登录哔哩哔哩。

接到老大通知,让我自动写一个自动登录哔哩哔哩的脚本,我当然是二话不说直接开怼,咱们的准则是啥,生死看淡,不服就干,干就完了。然而,现实总是被无情打脸,但是不管怎样,终究算是干过它了,下面我们来一一讲解,如何自动登录哔哩哔哩!

/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  总结 /

今天主要介绍了一种自动登录哔哩哔哩的破解方法,大家可以跟着代码进行实际操作一遍,有问题也可以随时留言噢,后面还会分享其他的第三方服务破解方式,敬请期待吧!

SQL 已死,但 SQL 将永存!

五分钟搞定 Linux 文档全部知识,就看这篇文章

B站收藏 6.1w+! GitHub 标星 3.9k+! 这门神课拯救了我薄弱的计算机基础

此内容来源于互联网 查看原文