From d4c2dcfaa0e05093a21ac49ce0f62068a08fe4e6 Mon Sep 17 00:00:00 2001 From: xaoyaoo Date: Fri, 19 Apr 2024 21:49:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=A4=B1=E8=B4=A5=E7=9A=84=E5=AE=B9=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pywxdump/dbpreprocess/parsingMSG.py | 5 ++++- pywxdump/dbpreprocess/parsingMediaMSG.py | 2 ++ pywxdump/dbpreprocess/parsingMicroMsg.py | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pywxdump/dbpreprocess/parsingMSG.py b/pywxdump/dbpreprocess/parsingMSG.py index 6cf70de..b3a70d9 100644 --- a/pywxdump/dbpreprocess/parsingMSG.py +++ b/pywxdump/dbpreprocess/parsingMSG.py @@ -58,6 +58,8 @@ class ParsingMSG(DatabaseBase): sql = f"SELECT StrTalker, COUNT(*) FROM MSG GROUP BY StrTalker ORDER BY COUNT(*) DESC;" result = self.execute_sql(sql) + if not result: + return {} df = pd.DataFrame(result, columns=["wxid", "msg_count"]) # # 排序 df = df.sort_values(by="msg_count", ascending=False) @@ -257,7 +259,8 @@ class ParsingMSG(DatabaseBase): "SELECT localId, IsSender, StrContent, StrTalker, Sequence, Type, SubType,CreateTime,MsgSvrID,DisplayContent,CompressContent,BytesExtra,ROW_NUMBER() OVER (ORDER BY CreateTime ASC) AS id " "FROM MSG ORDER BY CreateTime ASC LIMIT ?,?") result1 = self.execute_sql(sql, (start_index, page_size)) - + if not result1: + return [], [] data = [] wxid_list = [] for row in result1: diff --git a/pywxdump/dbpreprocess/parsingMediaMSG.py b/pywxdump/dbpreprocess/parsingMediaMSG.py index 6c4be46..d82504d 100644 --- a/pywxdump/dbpreprocess/parsingMediaMSG.py +++ b/pywxdump/dbpreprocess/parsingMediaMSG.py @@ -17,6 +17,8 @@ class ParsingMediaMSG(DatabaseBase): def get_audio(self, MsgSvrID, is_play=False, is_wave=False, save_path=None, rate=24000): sql = "select Buf from Media where Reserved0=? " DBdata = self.execute_sql(sql, (MsgSvrID,)) + if not DBdata: + return False if len(DBdata) == 0: return False data = DBdata[0][0] # [1:] + b'\xFF\xFF' diff --git a/pywxdump/dbpreprocess/parsingMicroMsg.py b/pywxdump/dbpreprocess/parsingMicroMsg.py index 50186b4..87fd45e 100644 --- a/pywxdump/dbpreprocess/parsingMicroMsg.py +++ b/pywxdump/dbpreprocess/parsingMicroMsg.py @@ -88,6 +88,8 @@ class ParsingMicroMsg(DatabaseBase): # f"OR A.Reserved6 LIKE '%{word}%' " "ORDER BY A.NickName DESC;") result = self.execute_sql(sql) + if not result: + return [] for row in result: # 获取wxid,昵称,备注,描述,头像 username, nickname, remark, Alias, describe, headImgUrl = row @@ -107,6 +109,8 @@ class ParsingMicroMsg(DatabaseBase): "FROM ChatInfo C " "ORDER BY C.LastReadedCreateTime DESC;") result = self.execute_sql(sql) + if not result: + return [] for row in result: # 获取用户名、昵称、备注和聊天记录数量 username, LastReadedCreateTime, LastReadedSvrId = row @@ -133,6 +137,8 @@ class ParsingMicroMsg(DatabaseBase): f"where A.ChatRoomName LIKE '%{roomwxid}%' " "ORDER BY A.ChatRoomName ASC;") result = self.execute_sql(sql) + if not result: + return [] room_datas = [] for row in result: # 获取用户名、昵称、备注和聊天记录数量