Cookies的处理
作用
保存客户端的相关状态
在爬虫中如果遇到了cookie的反爬如何处理?
手动处理
在抓包工具中捕获cookie,将其封装在headers中
应用场景:cookie没有有效时长且不是动态变化
自动处理
使用session机制
使用场景:动态变化的cookie
session对象:该对象和requests模块用法几乎一致.如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中.
案例
#获取一个session对象
import requests
headers = {
\'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36\'
}
session = requests.Session()
main_url = \'https://xueqiu.com\' #推测对该url发起请求会产生cookie
session.get(main_url,headers=headers)
url = \'https://xueqiu.com/v4/statuses/public_timeline_by_category.json\'
params = {
\'since_id\': \'-1\',
\'max_id\': \'20346152\',
\'count\': \'15\',
\'category\': \'-1\',
}
page_text = session.get(url,headers=headers,params=params).json()
page_text