模拟登录
1. 为什么需要模拟登录
- 需要爬取对于某些用户的数据
2. 流程
- 填写相关信息
- 如果有验证码
- 人工识别
- 自动识别
- 如果有信息加密
- 通过js进行加密
- 通过人为失败加密方式进行加密
- 发送请求
持久化登录(cookie操作)
- 使用原因
- http\https 特性:无状态(记性不好)
- 解决方法:记录用户登录状态
- cookie: 用来记录客户端的请求状态
- token
- 方法
- 手动cookie处理
通过抓包工具获取,追加到请求头中 - 自动处理
- cookie来自哪
post请求后由服务器设置 - session会话对象
- 可以进行请求的发送
- 如果请求过程中产生了cookie,该cookie会被自动存储、携带在session对象中
- cookie来自哪
- 手动cookie处理
- 步骤
import requests
login_url = "要请求的登录网址"
# 1. 创建session对象
session = requests.Session()
# 2. 使用session模拟登录(cookie会被存储到session对象中)
data = {
"键": "值"
}
resp01 = session.post(url=login_url, data=data)
# 3. 使用session对象发送请求(此时携带了session)
data_url = "数据网址"
resp02 = session.get(url=data_url)