<返回更多

怎样用Python爬虫绕过登录?技巧在这里

2019-11-06    
加入收藏

很多时候我们需要使用Selenium库来执行Python爬虫或自动测试,但是我们经常会在登录时因为验证代码而卡住,特别头疼。尤其是现在的图形认证代码和移动滑块验证码,连最简单的文本数字验证代码也被加了干扰线。比如以下的图形验证码。

 

私信小编01 领取学习教程

怎样用Python爬虫绕过登录?技巧在这里

 

 

还有我们基本都看过的 12306 的图形验证码。

怎样用Python爬虫绕过登录?技巧在这里

 

 

还有这种滑块验证码

怎样用Python爬虫绕过登录?技巧在这里

 

 

如果直接进行登录的话这些验证码破解起来的话都会比较的麻烦,费时费力,所以我们想想有没有办法绕过这个登录过程。其实是有的,下面我们就来讲讲如何绕过这个登录

绕过登录基本有两种方法:

第一种 cookie 方法我们要分析别人网站的 cookie 值,找出相应的值然后添加进去,对于我们不熟的网站,他们可能也会做加密或者动态处理,所以有些网站也不是那么好操作。如果是自己公司的网站需要测试,我们可以询问对应的开发那个 cookie 值是区分独立用的值,拿出来放在请求里面就行。

添加cookie绕过登录

 

比如我们登录百度账号比较费劲,每次都需要登录也比较繁琐,我们 F12 打开页面调试工具,登录后找到 www.baidu.com 文件,在 cookie 中,我们发现很多值,其中图中圈起来的就是我们要找的值。

怎样用Python爬虫绕过登录?技巧在这里

 

 

我们在访问 baidu 链接的时候加上这个 cookie 值,这样就是直接登录后的百度账号了。

怎样用Python爬虫绕过登录?技巧在这里

 

 

运行之后会发现selenium刚打开浏览器时未登录

怎样用Python爬虫绕过登录?技巧在这里

 

 

但是刷新之后页面就变成登录了

怎样用Python爬虫绕过登录?技巧在这里

 

 

可见我们成功的绕开了输入账号密码阎验证码登录这个过程。

带上浏览器的信息启动

 

这个方法其实就是我们实现在浏览器中对该网站进行登录,对应的缓存和 cookie 会保存到浏览器默认的路径下,当我们使用selenium打开浏览器时,把浏览器的所有信息资料都添加进去,打开网站之后我们之前登录保存的cookie就会启用,直接就是已登录状态。

我们先查看个人资料路径,以 chrome 为例,我们在地址栏输入 chrome://version/

怎样用Python爬虫绕过登录?技巧在这里

 

 

图中的个人资料路径就是我们需要的,我们去掉后面的 Default,然后在路径前加上–user-data-dir=就能拼接出我们要的路径了。

怎样用Python爬虫绕过登录?技巧在这里

 

 

接下来,我们启动浏览器的时候采用带选项时的启动,这种方式启动浏览器需要注意,运行代码前需要关闭所有的正在运行 chrome 程序,不然会报错。

怎样用Python爬虫绕过登录?技巧在这里

 

 

selenium 自动化启动浏览器后我们会发现之前保存的书签完整在浏览器上方,baidu 账号也是登录的状态。

怎样用Python爬虫绕过登录?技巧在这里

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>