登陆qq空间首页(登陆qq空间首页怎么设置)
更多Python学习资料可通过私信关键词【资料】获取。
给QQ空间增加一个模拟登录的例子吧~,让我们愉快地开始吧~
请求模块;
Pycryptodome模块;
以及Python自带的一些模块。
安装Python并将其添加到环境变量中,pip可以安装所需的相关模块。
这里简单介绍一下模拟登录QQ空间的原理。一般来说,QQ空间可以通过手机QQ扫码和账号密码登录。但是,帐户密码登录有时需要验证码。为了保证登录的成功率,我们选择了扫码登录的方式。
首先,进入登录界面:
只需抓住包包,您就可以发现二维码登录的界面大概是这样的(ptqrlogin看起来像二维码登录):
更多Python学习资料可通过私信关键词【资料】获取。
查看请求此链接所需的参数:
更多Python学习资料可通过私信关键词【资料】获取。
测试中,可以发现大多数参数是固定的,即:
所以我们只需要知道以下参数:
显然,动作应该这样构造:
至于login_sig参数,很容易发现您可以请求以下链接:
更多Python学习资料可通过私信关键词【资料】获取。
然后在返回的cookies中获取login_sig参数:
更多Python学习资料可通过私信关键词【资料】获取。
并请求:
要携带的参数有:
更多Python学习资料可通过私信关键词【资料】获取。
通过测试,我们可以发现这些参数是固定的。最后,剩下参数ptqrtoken。经过全局搜索后,您可以发现该参数ptqrtoken的计算方法写在一个js文件中:
更多Python学习资料可通过私信关键词【资料】获取。
其中,hash33的js代码为:
转向python代码是:
那么,现在的问题是如何获得参数qrsig?与login_sig参数类似,很容易找到以下链接:
更多Python学习资料可通过私信关键词【资料】获取。
您可以在返回的cookies中获取参数qrsig的值:
更多Python学习资料可通过私信关键词【资料】获取。
并请求:
下图显示了要携带的参数:
更多Python学习资料可通过私信关键词【资料】获取。
除了T之外,其他所有参数都不变,我感觉T就像一个随机数(因为经过测试,T一直保持不变也没关系)。既然影响不大,我也懒得继续分析T是什么了,就当它是个随机数吧(反正数字都是16)。
好了,到目前为止,我们已经大概了解了模拟登录的整个过程,那么让我们开始在编写代码的同时进一步阐明该过程吧~首先,我们自然地获得了login_sig参数:
然后获取ptqrtoken参数:
同时,在请求上述链接的过程中,即:
我们还可以获取二维码的图片(即res.content实际上是二维码的图片数据)并显示它:
然后,我们通过不断请求我们在开始时找到的二维码来登录链接,即:
要检测二维码的当前状态:
如果登录成功,使用请求返回的链接更新会话的cookies,以获得最终的QQ space登录会话对象:
结束
谢谢大家的支持和厚爱。边肖每天都会分享更多Python学习的干货知识,别忘了关注边肖。
更多Python爬虫、数据分析、办公自动化、全栈式开发、人工智能学习资源@林编程关键词【资料】获取。
作者:戴链接:
Https://juejin.cn/post/6953443849482010638来源:掘金