目录
一、基础概念
一、基础概念
1、cookie是存储在客户端的一组键值对
2、web中cookie的典型应用:免密登陆
3、cookie和爬虫之间的关联
有时,对一张页面进行请求的时候,如果请求的过程中不携带cookie的话,那么是无法请求到正确的页面数据。因此cookie是爬虫中非常典型且常见的反爬机制
代码分析
import requests
headers = {
'User-Agent':'XXXX'
}
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=20369434&count=15&category=-1'
page_text = requests.get(url=url,headers=headers).json()
二、cookie的处理方式
1、手动处理
将抓包工具中的cookie粘贴在headers中
2、自动处理
基于Session对象实现自动处理
session对象的作用:
该对象可以向requests一样调用get和post发送指定的请求。只不过如果在使用session发请求过程中如果产生了cookie,则cookie会被自动存储到该session对象中,那么意味着下次使用session对象发起请求,则该次请求就是携带cookie进行的请求发送。
在爬虫中使用session的时候,session对象至少被使用几次?
两次。第一次使用session是为了将cookie捕获且存储到session对象中。下次的时候就是携带cookie进行的请求发送。
'''自动获取cookie
可多次测试多个网页,发送请求获取cookie
'''
import requests
headers={
'User-Agent':'XXXX'
}
#第一次使用session
session=requests.Session() #创建session对象
#第一次使用session捕获且存储cookie
main_url='https://xueqiu.com/'
session.get(main_url,headers=headers) #捕获且存储cookie
#第二次使用session
url='https://xueqiu.com/statuses/hot/listV2.json?since_id=-1&max_id=487864&size=15'
page_text=session.get(url=url,headers=headers).json() #携带cookie发起的请求
page_text