某app绕过qq授权登录爬取数据

  • Post author:
  • Post category:其他


该app接口很简单,带上身份信息appOpenId和accessToken即可访问数据。

本来本文就应该结束了。

但是多线程一开一分钟过去账号就被踢下线了。

看着数据不多。其实一个英雄有四个登录途径的战力排行,每个登录途径要访问31次省,拿到330个市的数据再去访问330次市去拿到区县数据。意味着一个登录途径要访问360次接口,一个英雄要访问1440次接口,而王者有100多英雄。意味着要请求14万多次服务器才能拿到全部数据。

不被踢才怪。没办法,只能研究登录了。

软件只有微信登录和qq登录,并不支持手机号登录。

观察微信登录接口,发现微信登录后可以refreshWxToken。传入refreshWxToken和accessToken即可重置token有效期为86400秒。

尝试在代码中加入刷新token接口,看能否改变被踢下线的命运。

然而一分钟过去了,账号又又被踢下了线。

所以只能看看qq登录了,卸载手机qq后,系统未检测到手机qq,调用了输入qq账号密码登录页面。

发现state=test,果然开发还是偷懒了,并没有用state去csrf验证,那就简单很多了。复制这个url在浏览器打开。输入账号密码,登录,观察浏览器变化。

果然找到了回传的accessToken。

复制accessToken和openid到爬虫接口正常访问。

接下来的事情就很简单了,selenium封装这个授权页面,账号池里扔几个qq号,多线程爬虫一过期就打开页面重新登录重新生成accessToken

至于qq网页登录的验证码。。安全性就不说了,过验证码的源码百度很多,总的来说能绕就别刚。

文侵删。



版权声明:本文为m0_54120813原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。