手把手用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 总结/

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

——————— End ———————

往期精彩文章推荐:

看完本文有收获?请转发分享给更多的人

Python爬虫与数据挖掘

入群请在微信后台回复【入群】

在公众号后台回复下列关键词可以免费获取相应的学习资料:

Python、网络爬虫 、书籍、数据分析、机器学习、数据结构、

大数据、服务器、Spark、Redis、C++、C、php、

mysql、java、Android、面试题、课堂、其他

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注