QQBackup / QQ-History-Backup

【停更】QQ/TIM 聊天记录导出为 HTML,支持图片、语音,可 GUI 与 非 GUI 操作 (Python)
MIT License
316 stars 15 forks source link

解析错误 #11

Closed NovaShen555 closed 1 year ago

NovaShen555 commented 1 year ago

此聊天记录包含非常远古的记录和非常新的记录 即21年的和最新重构后的记录 在UI界面中显示85%后闪退,查看解析日志

parse :正在进行数据库查询,若数据库比较大,索引建立时间可能比较长
parse :数据库解析初始化成功,共计18733条消息,开始解析……
parse :解析进度:5%, 937/18733
预期外的错误(建议上报),相关信息:[IndexError('list index out of range'), 'Traceback (most recent call last):\n  File "src\\dataParsing\\parsing.py", line 232, in procDb\n  File "src\\dataParsing\\parsing.py", line 326, in proMsg\n  File "src\\dataParsing\\unserializedDataParsing.py", line 92, in parse\nIndexError: list index out of range\n', {'t': 'msg', 'c': [{'t': 'm', 'c': {'m': '😅😅😅'}}], 's': '1793019430', 'i': 1636471647}, -2005, b'\x16/storage/emulated/0/Android/data/com.tencent.mobileqq/cache/share/audio.m4s|0|0|1']
预期外的错误(建议上报),相关信息:[IndexError('list index out of range'), 'Traceback (most recent call last):\n  File "src\\dataParsing\\parsing.py", line 232, in procDb\n  File "src\\dataParsing\\parsing.py", line 326, in proMsg\n  File "src\\dataParsing\\unserializedDataParsing.py", line 92, in parse\nIndexError: list index out of range\n', None, -2005, b'\x16/storage/emulated/0/Android/data/com.tencent.mobileqq/cache/share/video.m4s|0|0|1']
大表情在resourses中不存在,相关信息:['菜汪']
大表情在resourses中不存在,相关信息:['菜汪']
parse :解析进度:10%, 1874/18733
parse :解析进度:15%, 2810/18733
大表情在resourses中不存在,相关信息:['变形']
预期外的错误(建议上报),相关信息:[IndexError('list index out of range'), 'Traceback (most recent call last):\n  File "src\\dataParsing\\parsing.py", line 232, in procDb\n  File "src\\dataParsing\\parsing.py", line 326, in proMsg\n  File "src\\dataParsing\\unserializedDataParsing.py", line 92, in parse\nIndexError: list index out of range\n', {'t': 'msg', 'c': [{'t': 'm', 'c': {'m': '笑死我了'}}], 's': '1793019430', 'i': 1637412024}, -2005, b'\x16/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/\xe9\xab\x98\xe4\xb8\x8013\xe7\x8f\xad\xe8\x81\x8c\xe4\xb8\x9a\xe4\xbd\x93\xe9\xaa\x8c\xe6\x95\x99\xe8\x82\xb2\xe6\xb4\xbb\xe5\x8a\xa8\xe6\x96\xb9\xe6\xa1\x88.docx|0|0|1']
预期外的错误(建议上报),相关信息:[IndexError('list index out of range'), 'Traceback (most recent call last):\n  File "src\\dataParsing\\parsing.py", line 232, in procDb\n  File "src\\dataParsing\\parsing.py", line 326, in proMsg\n  File "src\\dataParsing\\unserializedDataParsing.py", line 92, in parse\nIndexError: list index out of range\n', {'t': 'msg', 'c': [{'t': 'm', 'c': {'m': '好'}}], 's': '1041518061', 'i': 1637413848}, -2005, b'\x16/storage/emulated/0/DCIM/Camera/20211119_164224.mp4|0|0|1']
大表情在resourses中不存在,相关信息:['变形']
parse :解析进度:20%, 3747/18733
parse :解析进度:25%, 4684/18733
大表情在resourses中不存在,相关信息:['变形']
大表情在resourses中不存在,相关信息:['生气']
大表情在resourses中不存在,相关信息:['变形']
大表情在resourses中不存在,相关信息:['变形']
大表情在resourses中不存在,相关信息:['吃糖']
大表情在resourses中不存在,相关信息:['吃糖']
大表情在resourses中不存在,相关信息:['吃糖']
大表情在resourses中不存在,相关信息:['吃糖']
parse :解析进度:30%, 5620/18733
大表情在resourses中不存在,相关信息:['吃糖']
大表情在resourses中不存在,相关信息:['吃糖']
大表情在resourses中不存在,相关信息:['崇拜']
未知消息类型,相关信息:[-2076, b'\xac\xed\x00\x05w\x18\x00\x00\x15\xe5\x8f\x91\xe8\xb5\xb7\xe4\xba\x86\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab', '{"vip_pendant_id":"0","vip_font_id":"65536","diy_timestamp":"0","vip_font_effect_id":"0","vip_face_id":"0"}']
未知消息类型,相关信息:[-2076, b'\xac\xed\x00\x05w\x18\x00\x00\x15\xe5\x8f\x91\xe8\xb5\xb7\xe4\xba\x86\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab', '{"vip_pendant_id":"0","vip_font_id":"65536","diy_timestamp":"0","vip_font_effect_id":"0","vip_face_id":"0"}']
解析不完全消息(解析代码不完全),相关信息:[-5040, b'\x08\xa5\x80(\x10\x00"\x0511509*\x15\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab\xe5\xb7\xb2\xe7\xbb\x93\xe6\x9d\x9f@\x01J\x08\x08\x00\x10\x000\x008\x00', '位置共享已结束', '{"unite_gray_tips_align":"center","uint64_busi_type":"0","uint64_busi_id":"1007","uint64_templ_id":"1050","bytes_content":"<gtip align=\\"center\\"> <nor txt=\\"位置共享已结束\\"\\/> <\\/gtip>","uint64_tips_seq_id":"11509","pai_yi_pai_uint64_msg_type":"528","pai_yi_pai_showed":"1"}']
大表情在resourses中不存在,相关信息:['菜汪']
parse :解析进度:35%, 6557/18733
parse :解析进度:40%, 7494/18733
parse :解析进度:45%, 8430/18733
预期外的错误(建议上报),相关信息:[IndexError('list index out of range'), 'Traceback (most recent call last):\n  File "src\\dataParsing\\parsing.py", line 232, in procDb\n  File "src\\dataParsing\\parsing.py", line 326, in proMsg\n  File "src\\dataParsing\\unserializedDataParsing.py", line 92, in parse\nIndexError: list index out of range\n', {'t': 'msg', 'c': [{'t': 'm', 'c': {'m': '直白点'}}], 's': '1793019430', 'i': 1644133883}, -2005, b'\x16/data/app/~~nMKX3M7l4NzOVYFrCkLcKg==/com.app.pornhub-Ky3iIMd8dNbyFrBGRZkrOw==/base.apk|0|0|1']
未知消息类型,相关信息:[-2076, b'\xac\xed\x00\x05w\x18\x00\x00\x15\xe5\x8f\x91\xe8\xb5\xb7\xe4\xba\x86\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab', '{"vip_pendant_id":"0","vip_font_id":"65536","diy_timestamp":"0","vip_font_effect_id":"0","vip_face_id":"0"}']
解析不完全消息(解析代码不完全),相关信息:[-5040, b'\x08\xa5\x80(\x10\x00"\x046641*\x15\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab\xe5\xb7\xb2\xe7\xbb\x93\xe6\x9d\x9f@\x01J\x08\x08\x00\x10\x000\x008\x00', '位置共享已结束', '{"unite_gray_tips_align":"center","uint64_busi_type":"0","uint64_busi_id":"1007","uint64_templ_id":"1050","bytes_content":"<gtip align=\\"center\\"> <nor txt=\\"位置共享已结束\\"\\/> <\\/gtip>","uint64_tips_seq_id":"6641","pai_yi_pai_uint64_msg_type":"528","pai_yi_pai_showed":"1"}']
未知消息类型,相关信息:[-7009, b'{"key_frd_uin":1793019430,"key_type":0,"key_bind_time":1549850969,"key_anniversary_years":3,"key_inimate_level":0,"key_bg_url":"https:\\/\\/sola.gtimg.cn\\/aoi\\/sola\\/20200414195720_syOuvwOT4s.png","key_txt_clr":"#03081A"}', None]
大表情在resourses中不存在,相关信息:['变形']
parse :解析进度:50%, 9367/18733
大表情在resourses中不存在,相关信息:['变形']
大表情在resourses中不存在,相关信息:['菜汪']
parse :解析进度:55%, 10304/18733
未知消息类型,相关信息:[-2006, b'\x08\x01\x10\x00*3\xe5\xaf\xb9\xe6\x96\xb9\xe6\x92\xa4\xe5\x9b\x9e\xe4\xba\x86\xe4\xb8\x80\xe6\x9d\xa1\xe6\xb6\x88\xe6\x81\xaf\xef\xbc\x8c\xe5\x9b\xa0\xe4\xb8\xba\xe6\x9c\x89\xe9\x94\x99\xe5\x88\xab\xe5\xad\x97\xe3\x80\x82@\x00J\x08\x08\x00\x10\x000\x008\x00', '{"revoke_op_type":"0","pai_yi_pai_showed":"1"}']
未知消息类型,相关信息:[-2006, b'\x08\x01\x10\x00*3\xe5\xaf\xb9\xe6\x96\xb9\xe6\x92\xa4\xe5\x9b\x9e\xe4\xba\x86\xe4\xb8\x80\xe6\x9d\xa1\xe6\xb6\x88\xe6\x81\xaf\xef\xbc\x8c\xe5\x9b\xa0\xe4\xb8\xba\xe6\x9c\x89\xe9\x94\x99\xe5\x88\xab\xe5\xad\x97\xe3\x80\x82@\x00J\x08\x08\x00\x10\x000\x008\x00', '{"revoke_op_type":"0","pai_yi_pai_showed":"1"}']
大表情在resourses中不存在,相关信息:['菜汪']
未知消息类型,相关信息:[-2076, b'\xac\xed\x00\x05w\x18\x00\x00\x15\xe5\x8f\x91\xe8\xb5\xb7\xe4\xba\x86\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab', '{"vip_pendant_id":"0","vip_font_id":"65536","diy_timestamp":"0","vip_font_effect_id":"0","vip_face_id":"0"}']
解析不完全消息(解析代码不完全),相关信息:[-5040, b'\x08\xa5\x80(\x10\x00"\x047264*\x15\xe4\xbd\x8d\xe7\xbd\xae\xe5\x85\xb1\xe4\xba\xab\xe5\xb7\xb2\xe7\xbb\x93\xe6\x9d\x9f@\x01J\x08\x08\x00\x10\x000\x008\x00', '位置共享已结束', '{"unite_gray_tips_align":"center","uint64_busi_type":"0","uint64_busi_id":"1007","uint64_templ_id":"1050","bytes_content":"<gtip align=\\"center\\"> <nor txt=\\"位置共享已结束\\"\\/> <\\/gtip>","uint64_tips_seq_id":"7264","pai_yi_pai_uint64_msg_type":"528","pai_yi_pai_showed":"1"}']

觉得似乎有报错信息没有打印出来,于是直接从源码运行 发现问题, blackboxprotobuf的latest是1.0.2,需要protobuf的3.10.0,但是requirement的protobuf是3.19.4 尝试强制安装3.19.4依赖管理器报错

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
blackboxprotobuf 1.0.1 requires protobuf==3.10.0, but you have protobuf 3.19.4 which is incompatible.

大致如此

NovaShen555 commented 1 year ago

如果安装依赖管理器的要求安装旧版protobuf,则在运行main时

Traceback (most recent call last):
  File "C:\Users\10415\Desktop\QQHistoryExport-master\main.py", line 2, in <module>
    from src.dataParsing import parsing
  File "C:\Users\10415\Desktop\QQHistoryExport-master\src\dataParsing\parsing.py", line 12, in <module>
    from src.dataParsing.protoDataParsing import protoDataParsing
  File "C:\Users\10415\Desktop\QQHistoryExport-master\src\dataParsing\protoDataParsing.py", line 17, in <module>
    from src.proto import Msg_pb2
  File "C:\Users\10415\Desktop\QQHistoryExport-master\src\proto\Msg_pb2.py", line 21, in <module>
    _SHORTVIDEO = DESCRIPTOR.message_types_by_name['ShortVideo']
AttributeError: 'NoneType' object has no attribute 'message_types_by_name'
NovaShen555 commented 1 year ago

提错仓库了,sor