常见的登录方式有以下两种:
- 查看登录页面,csrf,cookie;授权;cookie
- 直接发送post请求,获取cookie
上面只是简单的描述,下面是详细的针对两种登录方式的时候爬虫的处理方法
![5a76d62fd3becc3cd6d337963dc284b4.png](https://i-blog.csdnimg.cn/blog_migrate/4bc8e5d64ed769584c028b062d8b9941.jpeg)
第一种情况
这种例子其实也比较多,现在很多网站的登录都是第一种的方法,这里通过以github为例子:
分析页面
获取authenticity_token信息
我们都知道登录页面这里都是一个form表单提交,我可以可以通过谷歌浏览器对其进行分析
![fc0b88de60044f22254a8876c80fd859.png](https://i-blog.csdnimg.cn/blog_migrate/1304b45c574ab945ed1993048c2d7d35.jpeg)
![87e2e30a0c871d944c6911fdd3dab94b.png](https://i-blog.csdnimg.cn/blog_migrate/8fb85df9d02affc6621e3eea1ff9be2c.jpeg)
如上图我们找到了这个token信息
所以我们在登录之前应该先通过代码访问这个登录页面获取这个authenticity_token信息
获取登陆页面的cookie信息
![24af4b2140297c5b3e1907429bff154f.png](https://i-blog.csdnimg.cn/blog_migrate/9a16ae1876a944ddab8366f789a3272f.jpeg)
set-cookie这里是登录页面的cookie
分析登录包获取提交地址
![ab95bfe9c9815c8cce02888a18a9fc87.png](https://i-blog.csdnimg.cn/blog_migrate/eb4f31bb080e63ba81a8b7a5757d9fea.jpeg)
当我们输入用户名和密码之后点击提交,我们可以从包里找到如上图的地址,就是post请求提交form的信息
请求的地址:https://github.com/session
请求的参数有:
"commit": "Sign in