python csdn_python CSDN模拟登陆(三种方法)

第一种方法:requests直接携带cookies

上代码:

u=1299767,575467423&fm=173&app=25&f=JPEG?w=640&h=387&s=E0C2B344DAA49F6C0451510F0000E0C1第一种方法

正确登陆后,在浏览器取得cookies,把cookies直接写到headers中,访问时就携带上cookie了,上面我定义parse函数去请求验证,匹配个人主页上的信息,然后结果很是满意,同样我们也能通过requests直接在请求中不通过headers携带。但是这里的cookie的格式是字典形式,因此我们需要对cookies进行格式化处理,

下面我将上码:

u=972903468,3861272326&fm=173&app=25&f=JPEG?w=639&h=316&s=A8C2B3409AA0B16C5C49040F0000E0C1

请求到的结果都是一样的

这里用到一个字典推导式,演示一下:

u=2137392727,1174245529&fm=173&app=25&f=JPEG?w=640&h=237&s=BE9015C29FE0BD721EED8507020030C1

第二种方法:实例化session请求登陆

这种方法可以把cookies存储在实例化后的session中,因此请求一次后,用session请求等同于带上cookies,

那么把登陆需要的信息post过去,session就获取了cookies,那么post到哪里呢?

通过查看登陆页面发现有form表单,并且action指向;

u=1999478471,3988562352&fm=173&app=25&f=JPEG?w=544&h=177&s=FE9005C297F48C711CF4BD0E0200B0C1

username,password都明白

lt、execution、_eventId是什么?不用担心在请求的网页中就包含了

那么我们post的时候没有这些数据,那就无法完成。怎么办,那就先请求一次,获取到我们要的数据,然后在构造

上码:

u=2770092943,3802792700&fm=173&app=25&f=JPEG?w=640&h=417&s=A69015CBC3BDB26D0CD9540E0000B0C1

session实例化来保持登陆

............用类写很累...........

第三种方法:selenium模拟登陆

我登陆后还输出cookies

u=3818084492,171010773&fm=173&app=25&f=JPEG?w=639&h=211&s=AE9005C387F5886050DDFD0B0200A0C3

但是,我这边测试了好多次,在类里面写获取cookies中,在用requests.get登陆,但是总是出错

我对比了cookies没有发现不对,但为什么登陆不上呢????

太累了 ..............

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值