很多时候我们需要使用Selenium库来执行Python爬虫或自动测试,但是我们经常会在登录时因为验证代码而卡住,特别头疼 。尤其是现在的图形认证代码和移动滑块验证码,连最简单的文本数字验证代码也被加了干扰线 。比如以下的图形验证码 。
私信小编01 领取学习教程
文章插图
还有我们基本都看过的 12306 的图形验证码 。
文章插图
还有这种滑块验证码
文章插图
如果直接进行登录的话这些验证码破解起来的话都会比较的麻烦,费时费力,所以我们想想有没有办法绕过这个登录过程 。其实是有的,下面我们就来讲讲如何绕过这个登录
绕过登录基本有两种方法:
- 第一种方法是登录后查看网站的 cookie,请求 url 的时候把 cookie 带上
- 第二种方法是启动浏览器带上浏览器的全部信息,包括添加的书签和访问网页的 cookie 信息 。
添加cookie绕过登录
【怎样用Python爬虫绕过登录?技巧在这里】比如我们登录百度账号比较费劲,每次都需要登录也比较繁琐,我们 F12 打开页面调试工具,登录后找到 www.baidu.com 文件,在 cookie 中,我们发现很多值,其中图中圈起来的就是我们要找的值 。
文章插图
我们在访问 baidu 链接的时候加上这个 cookie 值,这样就是直接登录后的百度账号了 。
文章插图
运行之后会发现selenium刚打开浏览器时未登录
文章插图
但是刷新之后页面就变成登录了
文章插图
可见我们成功的绕开了输入账号密码阎验证码登录这个过程 。
带上浏览器的信息启动
这个方法其实就是我们实现在浏览器中对该网站进行登录,对应的缓存和 cookie 会保存到浏览器默认的路径下,当我们使用selenium打开浏览器时,把浏览器的所有信息资料都添加进去,打开网站之后我们之前登录保存的cookie就会启用,直接就是已登录状态 。
我们先查看个人资料路径,以 chrome 为例,我们在地址栏输入 chrome://version/
文章插图
图中的个人资料路径就是我们需要的,我们去掉后面的 Default,然后在路径前加上–user-data-dir=就能拼接出我们要的路径了 。
文章插图
接下来,我们启动浏览器的时候采用带选项时的启动,这种方式启动浏览器需要注意,运行代码前需要关闭所有的正在运行 chrome 程序,不然会报错 。
文章插图
selenium 自动化启动浏览器后我们会发现之前保存的书签完整在浏览器上方,baidu 账号也是登录的状态 。
文章插图
推荐阅读
- MySQL中序列使用
- BlueKeep已被大规模利用于植入挖矿软件
- 如何用shell脚本实现单词及字母去重排序?
- 汤臣倍健液体钙软胶囊效果好吗,汤臣倍健液体钙软胶囊吃了有副作用吗
- 一次性用品回收再利用 日用品库存回收公司
- 姜葱炒濑尿虾的做法
- 电饼铛坏了怎么处理 电饼铛一面坏了还能用吗
- 冰箱顶上有水 冰箱顶部有水可以继续用吗
- 一百多元乳胶枕的危害 六七十块钱的乳胶枕能用吗
- 根据鸡蛋发明了什么 科学家用鸡蛋壳发明了什么