其实说出来不怕大家笑话,我在学习爬虫的初始阶段梦想就是实现全自动登录b站并且获取b站里面自己想要获取的数据。如今也终于是实现了这个梦想,很感激csdn各位博主,您们撰写的博客给我带来的很大的帮助,谢谢~
这一次我也总结了一下b站点触验证码的破解和b站的完整登录,希望能够帮助到需要的人,下面开始分析讲解。
1、需要用到的库
虽然有点小多,但是除了超级鹰,大部分还都算是常用的库,问题还不算大。所以接下来就说一下超级鹰的使用,包括怎么调用超级鹰(就是这个 from chaojiying_Python import chaojiying)
1.1、超级鹰
先给超级鹰做一下简单介绍:超级鹰,全称 超级鹰打码平台 (是个很好用的东西 emmm)
站链接 :
1、先注册,然后登陆(这个就不教了吧=。=)
3、进入开发文档后,找到自己对应的编程语言,因为我这里是python所以默认就用python了
5、解压缩后就能够得到这样一个文件包
6、打开py文件后我们拉到最下面去就可以在入口处看到这个东西
第一行的三个参数分别是你的超级鹰账 、密码、软件id。
第二行就是要读取的图片路径,rb就不做解释了
第三行1902那个是验证码的类型
8、验证码类型的获取
我们直接点击这个价格体系,进去后就可以看到各种验证码类型,我们可以根据具体需求选择具体的验证码类型进行使用,本次b站登录案例我们用的是:9005
2、b站模拟登陆
本次测试用的 站:
2.1、登陆前准备
在开始实现登录前先准备好我们的东西,放在初始化方法里面。
在初始化方法里面的这一条是通过调用了超级鹰py文件里面的方法。跟前面我们说过的调用超级鹰就有关系啦,至于超级鹰怎么导入,你直接把超级鹰解压缩的文件包放在跟你代码的同级目录下然后进行调用就可以了。
2.2、打开 站
2.3、获取登录按钮
2.4、获取点触验证码并且进行验证码的处理
从代码量上来看不难看出这个地方就是整个登录最难的地方了。有几个点我在自己做的时候遇到过一些问题,跟大家分享一下。
2.4.1、获取图片与浏览器该标签的大小比例
这个地方是一定必要的,如果你不去获取图片和浏览器的大小比例,后面你点击的时候就会发现他会点不到
2.4.2、调用超级鹰
result运行出来的最后结果:我们先记住这个结果,接着往下看
2.4.3、pic_str 对结果进行分析
pic_str,(字符串) 识别出的结果。对坐标进行分析,通过split和循环嵌套把坐标解析成我们需要的方法
最后的结果是:这个样子的(当然每幅图片坐标肯定是不一样的,所以你们这个位置的值也会跟我不一样,很正常)
2.4.4、err_no
err_no,(数值) 返回代码,如果返回的是0就代表成功返回了。我们加一个判断,返回0就进行点击操作
2.5、登陆失败时候的处理
一般来说打码平台也不是百分之一百的能够登录成功的,这时候我们就需要对他进行一个判断,让验证码识别失败的重新的进行识别。我们可以通过判断url是否切换来判断是否登录成功。代码如下:
至此,b站的点出模拟登录也就算是结束了,再次感谢csdn各位大佬们的帮助。下面放出完整代码,有不对的地方也希望大家能指正出来,谢谢~~
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!