用 Python 一键生成QQ个人报告

分享一个最近看到的Github项目。

项目介绍

近几年,由于微信的流行,大部分人不再频繁使用QQ,所以我们对于自己的QQ数据并不是特别了解。我相信,如果能够生成一份属于自己的QQ历史报告,那将是无比开心的一件事。

目前网上关于QQ的数据分析工具较少,原因是QQ相关接口比较复杂。而本程序的运行十分简单,具有良好的用户交互界面,只需要扫码登录一步操作即可。

由于相关的数据接口有访问限制,所以本程序并没有对QQ好友进行分析。

用 Python 一键生成QQ个人报告

效果展示

用 Python 一键生成QQ个人报告
用 Python 一键生成QQ个人报告
用 Python 一键生成QQ个人报告
用 Python 一键生成QQ个人报告
用 Python 一键生成QQ个人报告

上下滑动查看更多

实现思路

本程序分为多个模块,模块如下:

1.main.py,主程序,用于获取并处理相关数据,并导出数据报告。

首先,初始化相关文件夹,并调用qq_bot.py模块,定义一个qq bot对象,该对象为本程序的核心对象,所有数据获取均从该对象获取。

登录成功后,开始获取该登录账户的详细资料,接着,获取所有qq好友的备注名和qq号,并获取所有群数据等等···

2.qq_bot.py, 核心模块,实现了qq相关的接口,较为复杂。

此模块实现了获取qq数据的接口,主要通过抓包获得数据、分析数据,对参数进行加密解密等。

首先,是模拟扫码登录id.qq.com,qun.qq.com,qzone.qq.com。三者登录方式大同小异,唯一有区别的就是提交数据中的参数加密方式不同。

3.tkinter_gui.py,绘制gui模块,使用tkinter绘制基本的交互界面。

这个模块是绘制基本的gui模块,采用python内置的tkinter模块完成,用法相当简单,这里就不详细讲了。

4.static_data.py,数据存储模块,所有数据采用base64编码存储。

这个模块主要是用来存储相关的数据的,在程序每次运行时,将该静态资源文件输出。这么做的原因是可以防止用户将某些静态数据给删除了,导致程序运行错误。

使用说明

1.登陆客户端

注意:需要扫3次图中的“二维码”
分别对应登陆id.qq.com,qun.qq.com,qzone.qq.com
  
用 Python 一键生成QQ个人报告

2.等待一会,会在同目录下生成 .md文件。

用 Python 一键生成QQ个人报告
   用 Python 一键生成QQ个人报告
   
3.查看生成报告(md文件)
  
可用notepad++或者sublime等工具
    
用 Python 一键生成QQ个人报告
最终效果

源码地址

https://github.com/shengqiangzhang/examples-of-web-crawlers/tree/master/9.一键生成QQ个人历史报告

阿里云双十一活动来袭

长按扫描下方二维码

即享云服务器新用户1折起购

最低86元/年,一起拼团更优惠!

↓ ↓ 长按扫码了解更多  

用 Python 一键生成QQ个人报告

【Python中文社区专属拼团码】

活动时间:2019年10月24日至2019年11月11日

活动对象:阿里云新用户,同一用户限购1单。

 点击阅读原文,即享阿里云产品新用户1折优惠