新的生活 & 新的开始

原创·密钥 · 第01把|如何优雅破解 go-cqhttp 登录风控 ✅ 搭建 QQ 机器人 go-cqhttp,支持私聊 & 群聊消息收发 ✅ 绕过腾讯风控,让 qsign-server 代理签名请求,避免触发验证码/设备锁 ✅ 记录所有细节,换号换 IP 也能直接复现 ✅ 兼容 v/代理环境,避免影响 Docker 和本地服务通信 阅读详情

本号在10月因她而创,没想到11月她就离我而去…

前言

11月是一个伤感的月份,又悲又离,故想要保留与她有关的缩影,就像快照,在此爬取我当时QQ上的一切状态:QQ创号信息、QQ好友信息、QQ群信息,希望能将这些连带着我对她的记忆,封存在计算机冰冷的二进制中…
(PS:本期博文不发布任何代码,需要者可以私信交流一下。)

第一部分:创号时长爬取

20周年QQ个人轨迹
这是一个手机访问页面,电脑上只会出现用手机扫描二维码,这算是整个爬取过程中最特别的一处了,这里需要Fiddler或其他抓包工具来调试访问该页面,使用Fiddler抓包工具的方法参见手把手带你用Python爬取反爬策略的网站这篇文章,要想抓取手机上的包,需要在打开手机所连接wifi的代理,设置为电脑IP和Fiddler上打开的端口:
在这里插入图片描述

在这里插入图片描述
然后手机上返回保存。这样手机上浏览过程就会被电脑上的Fiddler捕捉到。
很快就确定了必须的请求头参数:Host、Accept、Q-UA2、Q-GUID、Q-QIMEI、QIMEI36、Q-Auth、User-Agent,带上cookies就能get到手机上显示的网页源代码了!
不过总不能每次爬取都抓包手机吧,这样直接记录数据得了。所以经过我的多次尝试,从QQ各大官网cookies尝试,最终确定此处的cookies可以用QQ群的cookies代替。
正确返回后,不要着急解析整个页面,在我视察整个页面之后,我发现存在**“window.syncData”数据于页面其中一个script标签中,这就是数据源,这可比解析整个页面简单又方便多了~
解析出来是一个数据字典,其中
“register_time”就是自身QQ的注册时间戳,registerTime_date是时间戳代表的具体日期时间,用今天减去就再除以60 * 60 * 24能知道自己创号多少天了。里面还有其他数据,比如qq_days**就是注册多少天,qq_lvl就是QQ等级,vec_packets就是好友分组,very_close_friend就是亲密度排行第一的好友,feed_count就是说说数量,msg_count就是留言数量。当然里面还有其他数据,有兴趣的可以慢慢研究。

第二部分:所有QQ好友爬取

这一部分只需要不断去QQ空间好友部分尝试、观察,总能发现一些特殊的请求地址与请求参数,这里就不多做介绍,附上一些可能用到的爬取接口地址,按需爬取即可:

好友统计

URL = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/potential/potentialpy_homepage.cgi?uin=XXX博主QQXXX&page=1&num=50&rd=0.5115880292300372&fupdate=1&g_tk=1898469524&g_tk=1898469524"
url = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/potential/potentialpy_homepage.cgi"
parameters = """
uin: XXX博主QQXXX
page: 1
num: 50
rd: 0.5115880292300372
fupdate: 1
g_tk: 1898469524
"""

亲密度关系

URL2 = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_ship_manager.cgi?uin=XXX博主QQXXX&do=1&rd=0.9145717705240268&fupdate=1&clean=1&g_tk=1898469524&g_tk=1898469524"
url2 = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_ship_manager.cgi"
parameters2 = """
uin: XXX博主QQXXX
do: 1
rd: 0.9145717705240268
fupdate: 1
clean: 1
g_tk: 1898469524
"""

最多前200位好友,多了也不必在乎;special_flag为特别关心。

好友分组信息

URL3 = "https://h5.qzone.qq.com/proxy/domain/base.qzone.qq.com/cgi-bin/right/get_entryright.cgi?uin=XXX博主QQXXX&rd=0.24837735638159453&ver=1&fupdate=1&g_tk=1898469524"
url3 = "https://h5.qzone.qq.com/proxy/domain/base.qzone.qq.com/cgi-bin/right/get_entryright.cgi"
parameters3 = """
uin: XXX博主QQXXX
rd: 0.24837735638159453
ver: 1
fupdate: 1
g_tk: 1898469524
"""

所有好友信息

URL4 = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_show_qqfriends.cgi?uin=XXX博主QQXXX&follow_flag=0&groupface_flag=0&fupdate=1&g_tk=1898469524&g_tk=1898469524"
url4 = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_show_qqfriends.cgi"
parameters4 = """
uin: XXX博主QQXXX
follow_flag: 0
groupface_flag: 0
fupdate: 1
g_tk: 1898469524
"""

单独好友详细信息

URL5 = "https://h5.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds2_html_friendship_pav?uin=XXX博主QQXXX&end_time=1370329982&count=10&useutf8=1&outputhtmlfeed=1&query=1&offset=0&frienduin=2717057684&applist=2_4_202_311&total=10&instance=0&g_tk=1898469524"
url5 = "https://h5.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds2_html_friendship_pav"
parameters5 = """
uin: XXX博主QQXXX
end_time: 1370329982
count: 10
useutf8: 1
outputhtmlfeed: 1
query: 1
offset: 0
frienduin: XXX好友QQXXX
applist: 2_4_202_311
total: 10
instance: 0
g_tk: 1898469524
"""

可获取双向亲密度、加好友日期、加好友天数、共有的群等信息。

单独好友亲密度信息

URL6 = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/friendship/cgi_friendship?activeuin=XXX博主QQXXX&passiveuin=XXX好友QQXXX&situation=1&isCalendar=1&g_tk=1898469524&g_tk=1898469524"
url6 = "https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/friendship/cgi_friendship"
parameters6 = """
activeuin: XXX博主QQXXX
passiveuin: 2717057684
situation: 1
isCalendar: 1
g_tk: 1898469524
"""

addFriendTime为加好友的时间,可以计算相距天数【相差 + 1】;intimacyScore为亲密度

背景音乐概览

URL7 = "https://u.y.qq.com/cgi-bin/musicu.fcg?data={%22songInfo%22:{%22module%22:%22track_info.UniformRuleCtrlServer%22,%22method%22:%22GetTrackInfo%22,%22param%22:{%22ids%22:[101810957],%22types%22:[2]}}}&platform=yqq&g_tk=531488230"
url7 = "https://u.y.qq.com/cgi-bin/musicu.fcg"
parameters7 = """
data: {"songInfo":{"module":"track_info.UniformRuleCtrlServer","method":"GetTrackInfo","param":{"ids":[101810957],"types":[2]}}}
platform: yqq
g_tk: 531488230
"""

背景音乐详情

URL8 = "https://u.y.qq.com/cgi-bin/musicu.fcg?data={%22url_mid%22:{%22module%22:%22vkey.GetVkeyServer%22,%22method%22:%22CgiGetVkey%22,%22param%22:{%22guid%22:%223122791488%22,%22songmid%22:[%22002juNGg4JZchu%22],%22songtype%22:[0],%22uin%22:%22XXX博主QQXXX%22,%22platform%22:%2223%22}}}&platform=yqq&g_tk=531488230"
url8 = "https://u.y.qq.com/cgi-bin/musicu.fcg"
parameters8 = """
data: {"url_mid":{"module":"vkey.GetVkeyServer","method":"CgiGetVkey","param":{"guid":"3122791488","songmid":["002juNGg4JZchu"],"songtype":[0],"uin":"XXX博主QQXXX","platform":"23"}}}
platform: yqq
g_tk: 531488230
"""

第三部分:所有QQ群爬取

这一部分比爬取QQ好友还容易看出来,毕竟QQ群组成元素就那几个:群列表和群成员,最多群分为创建的群、管理的群、加入的群,不过这可以从群成员分类中分析出具体的分类,以下是我从QQ群官网发现的一些接口:

好友列表

url1 = "https://qun.qq.com/cgi-bin/qun_mgr/get_friend_list"
parameters1 = """
bkn: 1726255507
"""

群列表

url2 = "https://qun.qq.com/cgi-bin/qun_mgr/get_group_list"
parameters2 = """
bkn: 1726255507
"""

群成员

url3 = "https://qun.qq.com/cgi-bin/qun_mgr/search_group_members"
parameters3 = """
gc: 536640287
st: 0
end: 20
sort: 0
bkn: 1726255507
"""

gc参数为群号码
end 最多比 st 大 40,即每次最多获取41个,序号从0开始,0为创建者。
这个接口还包含了排序方案(sort参数):

sort 参数表:(0为没有任何排序)
        Q龄⬆【9】     入群时间⬆【11】        等级(记分)⬆【15】      最后发言⬆【17】
        Q龄⬇【8】     入群时间⬇【10】        等级(记分)⬇【14】      最后发言⬇【16】
    条件筛选:(左0为0,右0无限大,可以灵活调整)
        性别(是女):g: 【0】【1】
        Q龄(年):qage: 【0|1】【1|3】【3-5】【5-7】【7|0】
        入群时长(月):join_time: 【0|1】【1|3】【3-6】【6-12】【12|0】
        等级(levelname):lv: 【1】【2】【3】【4】【5】【6】
            【101】【102】【103】【104】【105】【106】【107】【108】【109】
            【110】【111】【112】【113】【114】【115】【116】【117】【118】
            【197】【198】【199】【10】【11】【12】【13】【14】【15】
        最后发言(月):last_speak_time: 【0|1】【1|3】【3-6】【6-12】【12|0】
原创· 密钥 · 第02把 · QQ工作坊 · 第02钥 | 【深度实战案例】go-cqhttp 登录失败排查全纪实:从抓包到改协议 【深度实战案例】go-cqhttp 登录失败排查全纪实:从抓包到改协议。 阅读详情

相关推荐

GUID生成器

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。 在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。 在 Windows 平台上,GUID 广泛应用于微软的产品中,用于标识如注册表项、类及接口标识、数据库、系统目录等对象。

Curl笔记

curl -H 'Q-UA2: QV=3&PL=ADR&PR=QB&PP=com.tencent.mtt&PPVN=12.1.5.5134&TBSVC=45001&CO=BK&COVC=045830&PB=GE&VE=GA&DE=PHONE&CHID=22686&LCID=15641&MO= Pixel &RL=1080*1794&OS=8.1.0&API=27&DS=64

碎片的博客 2万+

避坑指南:你的VASP CI-NEB计算为什么不收敛?常见错误分析与解决思路

本文深入解析VASP CI-NEB计算不收敛的常见问题,提供从结构准备到参数设置的系统解决方案。针对过渡态计算中的能量曲线异常、中间图像偏离等典型问题,详细介绍了诊断方法和实用工具,帮助研究者高效解决CI-NEB收敛难题,提升计算效率。

weixin_29698641的博客 430

【算法·命运-36】prim算法

Prim 算法是一个经典的贪心算法,用于求解图的最小生成树。时间复杂度:O(E log V)(使用优先队列时),O(V²)(使用邻接矩阵时)。优点:适合稠密图,能够动态地扩展生成树,计算最小生成树的效率较高。缺点:对于稀疏图,可能不如 Kruskal 算法高效。

m0_69378371的博客 821

永磁同步电机矢量控制(十一)——基于损耗模型的PMSM效率优化策略

本文深入探讨了永磁同步电机(PMSM)基于损耗模型的效率优化策略,详细分析了铜损和铁损的构成与建模方法,并提出了最小损耗控制策略的实现方案。通过与传统MTPA控制的对比,展示了在不同工况下的效率提升效果,同时讨论了工程实现中的关键问题与解决方案,为PMSM的高效运行提供了理论支持和实践指导。

7z8x2c4v6b9的博客 230

#基于原生JS的交互式代码高亮编辑器实现教程

本文介绍了一个轻量级交互式代码高亮编辑器的实现方案。该编辑器采用原生JavaScript开发,支持语法高亮、行号显示、主题切换等核心功能,适合嵌入博客、文档等场景使用。 项目技术栈包括HTML5/CSS3/JavaScript,使用Prism.js实现语法高亮,prettier提供代码格式化功能。编辑器界面分三个区域:顶部工具栏(语言选择/主题切换)、中间编辑区(行号+代码)、底部状态栏(语言/字符数)。 核心功能实现包括:通过contenteditable属性创建可编辑区域,Flex布局实现行号与代码同步

qq_42386733的博客 1035

开始新的生活和工作

<br />开始新的生活和工作鸟

全为了你 486

ISP图像处理Verilog仿真框架搭建(附代码)

基于Verilog的图像处理仿真框架搭建

路漫漫其修远兮,吾将上下而求索 1894

新的开始,新的生活

还有几天就开学了,心里百感交集。新的开学,新的开始,新的生活,我觉得这是自己,2016年来的期望和目标吧,学好自己该学的,做好自己该做的,做一个称职的学生。

路ren甲 479

Cursor赋能Qt C++:从环境配置到项目构建的AI开发新范式

本文详细介绍了如何利用Cursor工具链提升Qt C++开发效率,从智能环境配置到CMake项目构建的全流程实践。通过AI辅助编程、Qt生态优化及高级调试技巧,开发者可快速完成从传统开发到AI驱动的新范式转换,显著缩短项目搭建时间并提升代码质量。

weixin_30329623的博客 546

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

上海,新的开始

由于在6月份的一次考试中,没能脱颖而出。终于还是离开了那个我熟悉而又不舍的地方,大学。生活的地方虽然是那么的不堪,甚至让人觉得是非常不妥的。但是,怀着对理想生活地追求,对现实生活的恐惧。想在大学中获得更多的知识和锻炼机会,还有那些想做却一直没有做的事情(谈场恋

Michael Feng's的网络日志 1757

【华为OD机试真题】2、在字符串中找出连续最长的数字串含+-号 | 机试真题+思路参考+代码解析(C++、Java、Py)

题目描述 >请在一个字符串中找出连续最长的数字串,并返回这个数字串。 如果存在长度相同的连续数字串,返回最后一个。 如果没有符合条件的字符串,返回空字符串””。 &nbsp; 注意: 数字串可以由数字”0-9″、小数点”.”、正负号”±”组成,长度包括组成数字串的所有符号。 “.”、“±”仅能出现一次,”.”的两边必须是数字,”±”仅能出现在开头且其后必须要有数字。 长度不定,可能含有空格

KJ.JK 6271

新的生活新的开始

 新的一种生活开始了,我要为编程事业奋斗一生!!

jack520521的专栏 634

Python 爬虫实战:爬取 B 站 UP 主的全部视频数据

本文详细介绍了基于Python开发B站UP主视频数据爬虫的技术方案。通过分析B站API接口,使用requests库发送HTTP请求并处理JSON数据,结合pandas进行结构化存储。文章重点解决了接口鉴权、分页爬取、反爬策略等核心难点,实现获取视频标题、播放量、点赞数等关键指标。同时强调数据爬取需遵守平台规范,仅限技术研究使用。该方案为B站视频内容分析提供了可靠的数据采集基础,具有实际应用价值。

2503_91057718的博客 2492

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

前天搬家了,新的生活要开始了

前天搬家了,新的生活要开始了

Bob的专栏 1174

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

开始新的生活

开始新的生活!人为什么要和自己过不去,不值!以后见了美女一定要调戏一下,这就是生活.生活就酱子!!!!!!!!!!!!!!!!

河北正定欢迎您-少占鱼 616

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

即将开始新的生活

新的生活即将开始!没有压力,没有牵挂,没有……,只有些残存的记忆。其实也好,不属于自己的话,还是不要的好!最近,自己心累得要死,整天胡乱猜想,自己变得很多疑,弄得自己支离破碎。或许改变现状是种解脱。想着自己应该积极点,不为没有结果的事情而闷闷不乐。要有信心与自信。未来是美好的,希望能通过自己的努力,找寻自己命中注定的那位,开辟自己的那片小天地!

这里有道风景 692

开始新的生活 新的努力

终于,结婚的事全部完成,蜜月之行也结束了,现在开始新的生活,要以新的生活方式开始新的努力。之前的东西要开始全部再继续了,更加自由的生活,更加努力的拼搏,相信自己一定可以。 转载于:https://blog.51cto.com/ytdsxushu/1543884...

weixin_34383618的博客 85

2015年新的开始新的生活

2015年新的开始,新的生活。 每当一个循环的开始,总是会产生一种想法,想要留住过去,想去创造未来;想要做点什么事作为纪念,加深印象。 今天是元旦假期的最后一天,终于回到北京了。这一路的艰辛只有深埋在心里,慢慢的转变为一种神奇的力量,指引我继续前行。         文字是一个很棒的东西,能够记录很多东西,包括心里想法、社会经历、生活体验。而且关键是保存时间很长很久,不同时间 段来看,来欣

挨踢俗人俗语记录 453

新的年纪,新的开始

不管处于一个什么样的年纪 不管你现在是一个什么样的境遇 我们都要相信自己的勇气 虽然我们已经遭受了现实的打击 虽然我们已经输的那么彻底 今天的我,对于现在是一个新的开始 在这个特定的时间 也是一个特定的日子 我很高兴与每一个人的相识,相知 希望能把我们变成彼此 十年前我很懦弱 十年后我依然还在蹉跎 十年的时间没有让我改变 事实证明,我真的是个生活的弱...

dichuili2858的博客 191

今天,我开始新的生活

原文: 今天,我开始新的生活。 今天,我爬出满是失败创伤的老茧。 今天,我重新来到这个世上,我出生在葡萄园中,园中的葡萄任人享用。 今天...

奔跑的蜗牛 461

羊皮卷之一 今天,我要开始新的生活

羊皮卷之一 今天,我要开始新的生活 今天,我要开始新的生活。 今天,我爬出满是失败创伤的老茧。 今天,我重新来到这个世上,我出生在葡萄园中,园内的葡萄任人享用。 今天,我要从最高最密的藤上摘下智慧的果实,这葡萄藤是好几代智者种下的。 今天,我要品尝葡萄的美味,还要吞下每一粒成功的种子,让新生命在我心里萌芽。 我选择的道路充满机遇,也有辛酸与绝望。失败的同伴数不胜数,叠在一起,比金子塔还

Transform 1122

大学生活,一个新的开始

不知不觉,在大学已经生活了七个周,现在的我,好像已经成为了文计121-1大家庭的一员,此时的我对未来充满憧憬,也有些许的迷茫,我不清楚将来的我将走往何处,但我一直坚信,只要有信念,不虚度年华,大学生活一定是人生中最充实最美好的时光,在csdn这个计算机爱好者的天堂,我满心欢喜的写下了这一篇博文,也许很幼稚,但这也是一个新的开始,因为年少无畏,所以我相信将来的我一定也会成为一个像贺立坚学者一样的人物

ai3an的专栏 1302

羊皮卷之一 今天,我开始新的生活

羊皮卷之一 今天,我开始新的生活。 今天,我爬出满是失败创伤的老茧。 今天,我重新来到这个世上,我出生在葡萄园中,园 内的葡萄任人享用。 今天,我要从最高最密的藤上摘下智慧的果实,这葡萄藤是好几代前的智者种下的。 今天,我要品尝葡萄的美昧,还要吞下每一粒成功的种子,让新生命在我心里萌芽。 我选择的道路充满机遇,也有辛酸与绝望。失败的同伴数不胜数,叠在一起,比金字塔还高。

web开发成长过程 1137
上一篇: 维普论文查重率页面显示数据修改(不会修改实际数据)
下一篇: beautifulsoup4无法正确解析网页的坑
user_from_future
博客等级 码龄5年 4066粉丝 115原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值