尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

[GetQzonehistory]:QQ空间历史说说全量备份 5 分钟跑通 + Excel/Markdown 双格式导出速查

[GetQzonehistory]:QQ空间历史说说全量备份 5 分钟跑通 + Excel/Markdown 双格式导出速查 [GetQzonehistory]QQ空间历史说说全量备份 5 分钟跑通 Excel/Markdown 双格式导出速查【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory你随手删了一条老说说几个月后突然想翻翻当年——文字、图片、评论全没了手里只剩一张对不上号的 2015 年截图。GetQzonehistory 就是一个QQ空间说说备份工具手机QQ扫个码可见的历史说说连同文字、图片、评论自动归档到本地硬盘导出成随时能打开的 Excel 和网页版。速览表10 秒判断要不要用维度说明解决什么问题历史说说、图片、评论全量备份不怕误删、不怕图片链接失效核心机制扫码登录 消息列表 / 可见说说两路并行抓取分类去重落盘输入 → 输出一个QQ账号扫一次码→ xlsx 表格 pic/ 图片文件夹 说说网页版支持平台Windows / macOS / Linux需 Python 3 和系统级 zbar 库它替你扛了什么活手动翻页翻到怀疑人生QQ空间网页版一页只展示几条说说翻回 2014 年要点几千次上一页中途断网前面就前功尽弃。它直接调接口批量拉自动算出总量一次拉完。图片链接是会过期的网页上的图片地址隔段时间就失效原说说一旦被删连图带字都没。抓取时图片会一并下载到本地pic/目录服务器删了硬盘里还有。截图是不可检索的一堆图文件夹里上百张截图想找去年夏天发的那条只能一张张看。导出的 Excel 按 时间/内容/图片链接/评论 四列结构化关键词直接搜。每次都要重新扫码不少同类脚本每次运行都得重扫一遍。它登录成功后把 cookie 缓存到本地下次启动列出已登录账号输个序号就复用。整条流水线就三步登录、猜总量、落盘先说结论扫码登录 → 两路并行抓取 → 分类落盘整个项目就这一条流水线。GetQzonehistory/ ├── main.py # 主入口登录→抓取→落盘 ├── fetch_all_message.py # 第二入口说说导出 Markdown ├── requirements.txt # 依赖清单 └── util/ ├── LoginUtil.py # 扫码登录、cookie 缓存 ├── RequestUtil.py # 消息列表请求、二分猜总量 ├── GetAllMomentsUtil.py # 说说分页每页30条 └── ToolsUtil.py # HTML 解析、表情还原、网页模板第一步像领一张日结门禁卡。先向登录接口申请一次性二维码终端直接用黑白字符块画出来屏幕就是门禁机手机QQ扫码确认后程序每 3 秒轮询一次状态直到收到登录成功再把会话 cookie 写入resource/user/一个账号一个文件文件名就是QQ号。这张卡有有效期过期了删掉缓存文件重扫即可没过期时下次启动选一下序号直接进门。第二步总量是猜出来的像猜数字游戏。服务端不直接返回消息列表的总量所以程序在 0 到 1000 万之间玩大了小了取中点偏移量发一次请求有数据说明猜小了没数据说明猜大了最多 24 轮锁定总量。之后每 10 条一批往下翻批与批之间睡 3 秒节奏跟真人刷页面差不多不会被当成异常流量。第三步分类落盘。两路数据各自拉全后按作者归属拆分自己发的进说说表转发、自己留的言、好友的其他动态各归一张表同时把图片下载到pic/再渲染出一个仿空间样式的网页版。user_info Request.get_login_user_info() # 验证登录态 count Request.get_message_count() # 二分猜消息总量 for i in trange(int(count / 10) 1): response Request.get_message(i * 10, 10) # 每批10条 # ... 解析HTML成 [时间, 内容, 图片, 评论] time.sleep(3) # 间隔3秒防风控 user_moments GetAllMoments.get_visible_moments_list() # 第二路可见说说每页30条 texts [t for t in texts if not any(Tools.is_any_mutual_exist(t[1], u[1]) for u in user_moments)] texts.extend(user_moments) # 两路合并去重 save_data() # 写Excel 下载图片 生成网页从零跑通只要这几步① 确认环境里有 Python 3后面所有命令都以它为前提python3 --version② 拉取代码到本地git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory③ 建虚拟环境装依赖两行命令一步到位不污染系统环境python3 -m venv myenv source myenv/bin/activate # Windows 用 myenv\Scripts\activate pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt④ 装系统级 zbarpyzbar 解码二维码要用它缺了启动第一步就会报错sudo dnf install -y zbar # CentOS / Fedora # sudo apt install -y zbar # Ubuntu / Debian # brew install zbar # macOS⑤ 跑起来终端会先打出二维码字符块手机QQ扫码确认之后自动开始抓取python main.py如果终端字体把二维码打成乱码直接打开resource/temp/QR.png扫图即可。⚠️ 登录 cookie 明文存在resource/user/相当于账号的通行凭证。别把这个目录放进网盘同步或拷到别人的机器上不再需要某个账号删掉对应文件即可。跑完你会拿到哪些文件产出清单所有产物都按账号分目录存放在resource/result/{QQ号}/下输出位置在resource/config/config.ini里配置temp / user / result 三个路径各管一摊。文件内容用途{QQ号}_全部列表.xlsx消息列表全量内容时间/内容/图片链接/评论关键词检索、筛选{QQ号}_说说列表.xlsx自己发的说说去重后单列统计、二次加工{QQ号}_转发列表.xlsx自己转发的内容按类型归档{QQ号}_留言列表.xlsx自己给别人点的留言按类型归档{QQ号}_其他列表.xlsx好友的其他动态按类型归档{QQ号}_好友列表.xlsx列表中出现的好友昵称、QQ号、空间主页回查空间主页pic/全部图片的本地副本防图片链接过期{QQ号}_说说网页版.html仿空间样式的本地网页双击翻阅点图看高清程序走消息列表 可见说说两路数据先各自拉全再按作者归属分类去重最后全部落到resource/result/{QQ号}/数据从头到尾只在你自己的硬盘上。翻车了看这里报错速查现象大概率原因解决动作启动报无法找到 zbar 共享库系统库没装sudo dnf install -y zbar按系统换 apt/brew终端只有乱码看不到二维码字体不支持 ASCII 码打开resource/temp/QR.png扫图登录失败:请重新登录缓存 cookie 过期删掉resource/user/里对应账号文件再跑长时间停在获取消息列表数量二分每次都要发请求网络慢就慢耐心等太久 CtrlC 重跑已有数据会保存pic/里少了几张图个别图片请求失败重跑python main.pycookie 还在不用重扫万能自检命令一次验证 Python 环境和全部依赖是否就位python -c import requests, pandas, qrcode, pyzbar, bs4, openpyxl; print(依赖全部OK)玩出花Markdown 档案与多账号备份1. 导出 Markdown 纯文本档案。想把归档丢进 Obsidian 或做成博客跑第二个入口即可python fetch_all_message.py它生成resource/fetch-all/所有可见说说.md图片同步下载并用本地路径引用转发和评论保留为引用块。2. 多账号轮换备份。resource/user/会积累多个账号的 cookie启动时列出已登录用户选序号复用输0重新扫码切到另一个号结果按QQ号分目录存放互不覆盖。已登录用户列表: 1. o1012345678 请选择要登录的用户序号重新登录输入0:3. 拿 Excel 做点统计。备份完的数据用 pandas 直接读看看自己哪一年话最多import pandas as pd df pd.read_excel(resource/result/123456789/123456789_说说列表.xlsx) df[时间] pd.to_datetime(df[时间], formatmixed) print(df.groupby(df[时间].dt.year).size()) # 按年统计发布条数最后说几句备份成本 一次扫码 一次等待文字、图片、评论分列可检索可筛选Excel 负责分析网页版负责翻阅数据只落在你自己的硬盘上平台会改版接口会换地方但攥在手里的副本不会过期。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表