30行左右代码python+selenium获取任意QQ历史头像
本帖最后由 sherlo 于 2018-8-10 12:08 编辑接口是用的别人发现的,论坛已经有大神写的易语言和java版的,自己看过,看的一脸蒙蔽,因此自己写个简单版的方便小白学习 !获取任意qq历史头像的关键是先获得一个临时的skey和对应的uin,uin就是需要你提前登陆的qq账号,这个东西可以通过浏览器F12获取或者使用Fiddler工具抓包。手动登陆这个网址https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=715030902&daid=70&pt_no_auth=0&s_url=http://qzone.qq.com,并输入你的qq号和密码(实在不放心也可以登陆自己的小号)实现获取skey和uin,如图
https://www.52pojie.cn/forum.php?mod=image&aid=1208234&size=300x300&key=eb841e501b07f73b&nocache=yes&type=贴图错误,请阅读“贴图帮助”。,然后会跳转到快速登陆qq空间这个页面 ,此时在浏览器中按下F12并按下F5刷新,接着点击network选项及network下方的doc,再点击左方的qzone.qq.com,如图
https://www.52pojie.cn/forum.php?mod=image&aid=1208248&size=300x300&key=bb4400df7ac1f62e&nocache=yes&type=贴图错误,请阅读“贴图帮助”。,然后你就发现skey和uin就存储在cookie中,如图
https://www.52pojie.cn/forum.php?mod=image&aid=1208250&size=300x300&key=6fd0a7f492931ab7&nocache=yes&type=贴图错误,请阅读“贴图帮助”。。
这个skey不是一劳永逸的,貌似是几个小时左右的有效期,意味着我们不能在代码中将它写死,这也是难点之一。我曾试过单纯使用python模拟登陆并获取,发现要post的参数太多 (反正就是不会,如果有人会,我必虚心请教 )导致 无法登陆成功,于是只好结合使用selenium并使用Chrome浏览器的无头模式(说简单就是没有界面的浏览器 )登陆并抓取 cookie,模拟登陆并抓取的代码如图:
https://www.52pojie.cn/forum.php?mod=image&aid=1208270&size=300x300&key=7926e80b1d263d45&nocache=yes&type=贴图错误,请阅读“贴图帮助”。,最后利用python的requests库(强烈推荐使用这个库,简单粗暴)获取就OK了!效果如图:
雏形就是以上了,需要做下载图片功能或者封装成函数反复查询的的请自行发挥,太懒了,不想写了 。
源码:
sherlo 发表于 2018-8-9 22:57
仅供娱乐,不喜欢的请高抬贵嘴,顺便补一张使用selenium自动登陆的图
楼主知道selenium有直接调用默认浏览器的方法么? 仅供娱乐,不喜欢的请高抬贵嘴,顺便补一张使用selenium自动登陆的图
图片贴错了,跑到下面去了,大家将就着看一下{:1_924:} 有什么用没有?获取头像能得到什么? 学习学习 历史头像都能搜出来,厉害了。。。 学习学习 最近论坛发帖质量真的差 厉害了楼主 厉害了楼主
页:
[1]
2