python通过cookie模拟已登录状态的初步研究

yipeiwu_com6年前Python基础

对于那些需要在登录环境下进行的爬虫操作,模拟登陆或伪装已登录状态是一个刚需。

分析了网上关于模拟登录的例子,很多都基于用户名/密码发起一个post请求,遇到有图片验证码的,比较理想的方法是进行人工干预,同步发起一个图片验证码的请求,将图片写到本地,人工查看后进行输入。

既然,少不了人工干预,为何登录操作不全程人工进行,已登录后再把浏览器的Cookie信息全拷贝出来,通过爬虫伪造成一个已登录的浏览器呢? 我暂时试了试国内的几个大网站,发现都行得通,可以模拟浏览器进行登录之后的很多操作,包括签到,修改个人资料等。

下面贴上简单的代码实现:

后话:关于图片验证码,为什么没有必要去搞一个自动识别?

因为像下面这种简单的,你也许花上几天就可以搞定:

 

但是很多网站它的验证码会不断地变换策略,它变一次可能很快,但对你来说可能就得花上好几天去改代码,也许你还没改完,人家又变了,总之,玩不过你也可以玩死你。

当它想换下面的姿势给你点惊喜,如果你还没破解出它的上一套验证码时,你肯定会后悔大学选错了专业:

为了开发出自动抢票软件,360用了高精尖的团队,也好像不能百分百识别出下面反人类的验证码:

以上所述是小编给大家介绍的python通过cookie模拟已登录状态的初步研究,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python对配置文件.ini进行增删改查操作的方法示例

前言 本文主要给大家介绍的是关于python对配置文件.ini增删改查操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 一、先导入configobj库文件...

python 移除字符串尾部的数字方法

今天在下脚本的时候遇到一个问题,比如有这样的一个字符串 t = "book123456",想把尾部的数字全部去掉,只留下“book”,自己用正则试了下,是实现了,但速度不是很快,于是问了...

Python实现队列的方法

本文实例讲述了Python实现队列的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python queue = [] def enQ():...

python flask实现分页的示例代码

结合mysql数据库查询,实现分页效果 @user.route("/user_list",methods=['POST','GET']) def user_list(): p =...

Pytorch实现各种2d卷积示例

普通卷积 使用nn.Conv2d(),一般还会接上BN和ReLu 参数量NNCin*Cout+Cout(如果有bias,相对来说表示对参数量影响很小,所以后面不考虑) class C...