{"contents":"# -*- coding: utf-8 -*-#\n# -------------------------------------------------------------------------------\n# Name: Sns.py\n# Description: 负责处理朋友圈相关数据 软件只能看到在电脑微信浏览过的朋友圈记录\n# Author: xaoyaoo\n# Date: 2024/04/15\n# -------------------------------------------------------------------------------\nimport json\n\nfrom .db_base import DatabaseBase\nfrom .utils import silk2audio, xml2dict, timestamp2str\n\n\n# FeedsV20:朋友圈的XML数据\n# CommentV20:朋友圈点赞或评论记录\n# NotificationV7:朋友圈通知\n# SnsConfigV20:一些配置信息,能读懂的是其中有你的朋友圈背景图\n# SnsGroupInfoV5:猜测是旧版微信朋友圈可见范围的可见或不可见名单\n\nclass SnsHandler(DatabaseBase):\n _class_name = \"Sns\"\n Media_required_tables = [\"AdFeedsV8\", \"FeedsV20\", \"CommentV20\", \"NotificationV7\", \"SnsConfigV20\", \"SnsFailureV5\",\n \"SnsGroupInfoV5\", \"SnsNoNotifyV5\"]\n\n def get_sns_feed(self):\n \"\"\"\n 获取朋友圈数据\n http://shmmsns.qpic.cn/mmsns/uGxMq1C4wvppcjBbyweK796GtT1hH3LGISYajZ2v7C11XhHk5icyDUXcWNSPk2MooeIa8Es5hXP0/0?idx=1\u0026token=WSEN6qDsKwV8A02w3onOGQYfxnkibdqSOkmHhZGNB4DFumlE9p1vp0e0xjHoXlbbXRzwnQia6X5t3Annc4oqTuDg\n \"\"\"\n sql = (\n \"SELECT FeedId, CreateTime, FaultId, Type, UserName, Status, ExtFlag, PrivFlag, StringId, Content \"\n \"FROM FeedsV20 \"\n \"ORDER BY CreateTime DESC\")\n FeedsV20 = self.execute(sql)\n for row in FeedsV20[2:]:\n (FeedId, CreateTime, FaultId, Type, UserName, Status, ExtFlag, PrivFlag, StringId, Content) = row\n\n Content = xml2dict(Content) if Content and Content.startswith(\"\u003c\") else Content\n CreateTime = timestamp2str(CreateTime)\n print(\n f\"{FeedId=}\\n\"\n f\"{CreateTime=}\\n\"\n f\"{FaultId=}\\n\"\n f\"{Type=}\\n\"\n f\"{UserName=}\\n\"\n f\"{Status=}\\n\"\n f\"{ExtFlag=}\\n\"\n f\"{PrivFlag=}\\n\"\n f\"{StringId=}\\n\\n\"\n f\"{json.dumps(Content, indent=4, ensure_ascii=False)}\\n\\n\"\n )\n return FeedId, CreateTime, FaultId, Type, UserName, Status, ExtFlag, PrivFlag, StringId, Content\n\n def get_sns_comment(self):\n pass\n","is_binary":false,"path":"wxdump_linux/db/db_sns.py","ref":""}