Bootstrap

requests模块处理cookie相关的请求

目标

  • 掌握requests处理cookie的三种方法
  • 掌握分析js的方法

1 requests处理cookie相关的请求

1.1 回顾cookie和session的区别
  • cookie数据存放在客户的浏览器上,session数据放在服务器上
  • coolie不是安全的,别人可以分析放在本地的cookie并进行cookie欺骗
  • session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能
  • 单个cookie保存的数据不超过4k,很多浏览器都限制一个站点最多保存20个cookie
1.2 爬虫中为什么要使用cookie
  • 带上cookie的好处

    • 能够访问登陆后的页面
    • 正常的浏览器在请求服务器的时候肯定会岱山cookie(第一次请求某个地址除外),所以对方服务器有可能会通过是否携带cookie来判断我们是不是一个爬虫,对应的能够起到一定的反爬效果。
  • 带上cookie的坏处

    • 一套cookie往往对应的是一个用户的信息,请求tai’pi频繁可能被对方识别为爬虫
    • 如何解决? 使用多个账号
1.3 requests处理cookie相关请求之session
  • requests 提供了一个叫session类(不是1.1的session),来实现客户端和服务端的 会话保持
    • 会话保持有两个内涵:
    • 保存cookie
    • 实现和服务器的长连接
  • 使用方法
    session = requests.session() 
    response = session.get(url, headers)
    

session实例在请求了一个网站后,对方服务器设置在本地的cookie会保存在session中,下一次再使用session请求对方服务器的时候,会带上前一次的cookie

  • 案例 使用session处理cookie自动登录人人网
"""关于如何获取post接口  看1.6"""
import requests

# 1. 实例化session
session = requests.Session()

# 2.使用session发送post请求,对方服务器会把cookie设置再session中
post_url = "http://www.renren.com/PLogin.do"   # 如何获取这个post接口?
post_data = {
   "email": "[email protected]", "password": "qqq213"}
headers = {
   "user-agent": <
;