cookie的应用和处理
- cookie:服务器端记录客户端的相关状态- 处理cookie的方式: - 手动处理:不建议 页面找隐藏的标签,获取value - 自动处理:会话对象Session,该对象可以像requests模块一样进行网络请求的发送(get,post)。session进行的请求发送可以自动携带和处理cookie cookie/session处理请求不是必须的 ,因为session是耗费资源的
#基于cookie的案例分析:https://xueqiu.com/ 案例使用自动处理cookie办法#1.从首页中获取详情页的url #发现:首页中的新闻数据是动态加载出来(ajax) json数据中taget对应的value值就是详情页的urlimport requests,jsonheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}# 第一次请求url 自动获取cookiesession = requests.Session()session.get(url='https://xueqiu.com',headers=headers) # cookie就会自动存到session中# 捕获ajax数据包获取的urlurl = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=-1&count=10&category=-1'# 携带cookie进行的请求发送dic_json = session.get(url=url,headers=headers).json()#从响应数据中获取详情页的urlfor dic in dic_json['list']: info = json.loads(dic['data']) detail_url = 'https://xueqiu.com' + info['target'] # 详情页url title = info['title'] print(detail_url,title)