Selenium login 模拟登录

这个一篇 极客学院 python 动态爬虫课程 selenium 模拟登录章节的学习笔记。


用requests library 访问需要登录的网站时,返回的是登录网站的源代码。

我们可以用selenium去模拟键盘输入,从而模拟登录。但是这只适用于一般情况, 一旦有需要验证输入的时候,这个方法便不好使了。

我们还可以用requests library 和 cookie字段。cookie里面含有已登陆的信息。这样对于从server角度来看这个request是来自一个已经登录过的用户,可以说我们利用了login session的功能

有些时候 现在的网站会在form里面添加一个隐藏项 for xsrf or csrf Cross Site Request Forgery,这是一个常见的关于cookie的漏洞。在 form里面添加了这项后,并在server端添加验证的逻辑,可以有效的防御这个漏洞。基本原理就是将cookie 的值hash过后放到 input里面 然后再在server端对拿到的cookie做一次hash 比对两个hash的值。对于这项我们直接将value提取出来就好了。毕竟我们是做模拟登录,而不是骇客。

User Agent 反爬虫原理:

如果在request header 中没有定义 User Agent, 很多网站是会拒绝访问的。这个时候我们可以事先定义好request header,然后利用这个header 去发送请求。

对于有验证码的登录:

三种方法:

1.  手动识别输入。

2.  python 图像识别包。

3.  打码网站。


你可能感兴趣的:(Selenium login 模拟登录)