Python奇淫技巧之自动登录哔哩哔哩(解决滑块验证)

共 1493字,需浏览 3分钟

 ·

2020-01-17 23:26

d09ed2b7d498db5d8fc66481f48fc2b5.webp

作者 | Python进阶者来源 | Python爬虫与数据挖掘

/1 前言/


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


接到老大通知,让我自动写一个自动登录哔哩哔哩的脚本,我当然是二话不说直接开怼,咱们的准则是啥,生死看淡,不服就干,干就完了。


然而,现实总是被无情打脸,但是不管怎样,终究算是干过它了,下面我们来一一讲解,如何自动登录哔哩哔哩!


/2 示例效果/

    先给大家看看最终效果图,后面会讲解如何破解滑块验证:

2619bc43018a2d1afb479d1ad5025d18.webp




/3 准备工作/

chromedriver:浏览器驱动,可以理解为一个没有界面的chrome浏览器。


selenium:用于模拟人对浏览器进行点击、输出、拖拽等操作,就相当于是个人在使用浏览器,也常常用来应付反爬虫措施。

 

/4 具体步骤/


哔哩哔哩登录URL:https://passport.bilibili.com/login


1、点击登录如下,自动登录blbl最难的一点就是,拖动滑块,对准缺口,正是这一个问题,让我掉了好几根头发,跟上我的脚步,能少踩一个一个坑是一个坑。

f4febf58a6afb0a904149104b56d63b7.webp


2.  可能看到这,稍微会点技术的小伙伴都知道,其实我们根本要解决的问题,就是缺口获取缺口的位置,但是要怎么获取这个缺口的位置呢?

0ddc26b25b2291e0b9f576060de3e2b8.webp


3.   这尼玛,canvas是个啥?其实当时我和你们想法一样,其实呢,这个canvas是个画布,可不是图片,这咋办,这不是图片怎么办呢?


再说,我怎么知道哪个是带缺口图的canvas,经过多次测试,终于算是弄清楚了哪个是背景图,哪个是滑块,我来给大家标注一下。

afea114119ce66d93835d511a365be1c.webp

 

4. So,问题又来了,我怎么获取这里面的图片呢?不谈了,直接上图!!!

a9c836cc5ae1defe641171df1cd69bc9.webp


5. 我们先在游览器前端控制台,通过js代码,选中带缺口的标签,因为是类选中,所以需要取0下标,通过 toDataURL("image/png") 方法,将canvas将里面的图片转为base64位图片,转成base64位图片有啥用呢,来,我们赋值这么这么长的一段base64地址,复制到游览器中。

83441e68620e7db200e78de10a21d5dc.webp


看到了没?我们梦寐已久带缺口的图片已经呈现出来了。


6. 下一步怎么办呢?当时我的想法是,如法炮制,获取滑块的的图片,通过opencv模板对比,获取缺口位置。但是事实证明,我又被打脸,我们来看一下滑块图片啥样。

99495af44ea9a9ccf3e0549d56c5d7db.webp


7. 是不是看着没什么问题,我们来保存本地试一下看看。


9b5f9445c28c077fce4f3efc27504096.webp



8. 看出来了没?其实除了滑块以外,其他位置为透明区域,如果有透明区域,是不能通过opencv 模板对比的。这咋办?如果在用opencv处理图像,就是个累活了。


9. 本着能懒就懒原则,直接上第三方平台吧!本文使用的第三方平台:联众:https://www.jsdati.com/

这个平台还是比较贴心的,还有qq客服,有问题我们还可以问qq客服,暖心


9c8f5782cfc9ec337246bd4c3c7758d4.webp


10. 这个平台图像类型1318为滑块验证码,只需要把带有缺口的图片上传到此网站就好。具体怎么操作呢?说了这么多,我们也该上代码了,详情地址上传到github这里了:https://github.com/cassieeric/python_crawler/tree/master/bilibili_autoLogin,觉得还不错,记得给个star噢!

1225b6964771dfb15ee0972e07903514.webp


各位小伙伴自行去联众注册哈,价格还挺香,1元100点,滑动验证码一个2点。

/5 总结/

    今天主要介绍了一种自动登录哔哩哔哩的破解方法,大家可以跟着代码进行实际操作一遍。


你还期待哪些网站的实践操作呢,也可以在下方留言哦。

浏览 112
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报