第一种方法:requests直接携带cookies
上代码:
第一种方法
正确登陆后,在浏览器取得cookies,把cookies直接写到headers中,访问时就携带上cookie了,上面我定义parse函数去请求验证,匹配个人主页上的信息,然后结果很是满意,同样我们也能通过requests直接在请求中不通过headers携带。但是这里的cookie的格式是字典形式,因此我们需要对cookies进行格式化处理,
下面我将上码:
请求到的结果都是一样的
这里用到一个字典推导式,演示一下:
第二种方法:实例化session请求登陆
这种方法可以把cookies存储在实例化后的session中,因此请求一次后,用session请求等同于带上cookies,
那么把登陆需要的信息post过去,session就获取了cookies,那么post到哪里呢?
通过查看登陆页面发现有form表单,并且action指向;
username,password都明白
lt、execution、_eventId是什么?不用担心在请求的网页中就包含了
那么我们post的时候没有这些数据,那就无法完成。怎么办,那就先请求一次,获取到我们要的数据,然后在构造
上码:
session实例化来保持登陆
............用类写很累...........
第三种方法:selenium模拟登陆
我登陆后还输出cookies
但是,我这边测试了好多次,在类里面写获取cookies中,在用requests.get登陆,但是总是出错
我对比了cookies没有发现不对,但为什么登陆不上呢????
太累了 ..............