session和cookie、代理、selenium自动化
1.静态网页&动态网页:
2.session和cookies:
PostMan
Session和Cookies互相配合,客户端将Cookies放在请求头一起发送给服务端,Session在服务端记录登录状态
Cookies的查看方法:
在 Chrome 中按 F12 打开开发者工具,选择 Application 标签,点开 Cookies 这一栏。
- Name:这个是 Cookie 的名字。一旦创建,该名称便不可更改。
- Value:这个是 Cookie 的值。
- Domain:这个是可以访问该 Cookie 的域名。例如,如果设置为 .jd.com ,则所有以 jd.com ,结尾的域名都可以访问该Cookie。
- Max Age:Cookie 失效的时间,单位为秒,也常和 Expires 一起使用。 Max Age 如果为正数,则在 Max Age 秒之后失效,如果为负数,则关闭浏览器时 Cookie 即失效,浏览器也不会保存该 Cookie 。
- Path:Cookie 的使用路径。如果设置为 /path/ ,则只有路径为 /path/ 的页面可以访问该 Cookie 。如果设置为 / ,则本域名下的所有页面都可以访问该 Cookie 。
- Size:Cookie 的大小。
- HTTPOnly:如果此项打勾,那么通过 JS 脚本将无法读取到 Cookie 信息,这样能有效的防止 XSS 攻击,窃取 Cookie 内容,可以增加 Cookie 的安全性。
- Secure:如果此项打勾,那么这个 Cookie 只能用 HTTPS 协议发送给服务器,用 HTTP 协议是不发送的。
关闭浏览器时并不会同步关闭浏览器的会话
3.selenium:
一个自动化测试工具,用代码的方式模拟浏览器操作过程
安装(用清华源比较快):pip install --index https://mirrors.ustc.edu.cn/pypi/web/simple/ selenium
使用谷歌浏览器,配合下载chromdriver。
使用火狐浏览器,下载geckodriver
4.IP
网站为了防止被爬取,会有反爬机制,对于同一个IP地址的大量同类型的访问,会封锁IP,过一段时间后,才能继续访问。
解决办法:
1.修改请求头,模拟浏览器(而不是代码去直接访问)去访问
2.采用代理IP并轮换
3.设置访问时间间隔