知乎备份剪藏

将你喜欢的知乎回答/文章/想法保存为 markdown / zip / png

当前为 2025-02-08 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
qtqz
评分
0 0 0
版本
0.10.0
创建于
2024-02-04
更新于
2025-02-08
大小
223.5 KB
许可证
MIT
适用于

源代码:https://github.com/qtqz/zhihu-backup-collect 修改自:知乎下载器

在这个信息纷繁复杂、互联网没有记忆的时代,帮你保存知乎上珍贵的内容,方便日后查阅。

  • 📑复制知乎文章/回答/想法为 Markdown
  • 📁下载文章/回答/想法为 zip(包含图片与文本,以及赞数时间等信息)
  • 📝下载文章/回答/想法为纯文本
  • 🖼剪藏文章/回答/想法为图片
  • ✏可选添加保存备注
  • 💬可选保存评论(已支持弹出框)

注:此项目爬蟲🐛,仅用于用户日常保存喜欢的内容。请尊重内容作者权利,切勿用于抄袭与盈利。被保存的内容亦不能作为证据使用。

此项目最初基于Howardzhangdqs/zhihu-copy-as-markdown(MIT)开发而来,目前已进行大规模重构,适配各种场景和内容类型,添加了存图、备注和评论解析器。基本的 Markdown 解析和 zip 下载由原作者实现,感谢他的探索。

如果你喜欢此项目,想要赞赏支持💰,可扫描赞赏码

使用

安装油猴脚本:greasyfork - 知乎备份剪藏(未进行全面测试,可能存在bug)。在此之前,你需要有一个脚本管理器,如 Tampermonkey(油猴,篡改猴)。⚠ 2024-10-29 起,新版油猴中(5.3.2),您必须至浏览器 - 扩展 - 打开开发者选项后才能使用用户脚本。

鼠标移到知乎内容上,会出现保存按钮,点击即可保存(到下载目录)。已支持的页面有关注页、个人主页、回答页、问题页、文章页、想法页、收藏夹页、推荐页、搜索结果页;已支持的内容有文章、回答、想法。具体功能解释:

  • 复制 Markdown:复制到剪贴板,语法见Markdown Reference
  • 下载 zip:将内容的图片、Markdown 文本、信息(赞数、时间等)、当前页评论(如果启用)保存为 zip,文件名格式标题_作者_日期_备注.zip.md文件请用文本方式打开(如使用 Notepad3),语法同上。
  • 下载纯文本:将内容转为 Markdown 文本,并添加信息与评论(如果启用),保存为 .md单文件。
  • 剪藏图片:将当前内容(和评论)截为 PNG 图片,会自动隐藏你的头像以保护隐私。请先滚动到底确保所有图片都加载,否则图片会是空白(太长的截图建议用下面推荐软件保存)
  • 备注:备注会保存在文件名末尾,最长60字符,空格会转义为“-”,不能包含\ / : * ? " < > |。提示:可以选中拖动内容中的字到备注栏。
  • 保存评论:执行下载操作时也下载评论,需要先手动逐页暂存,详情按评论区的按钮操作。

选项开关:

在目标页点击油猴,再点击脚本脚本下方的开关以调整

可能的问题:

  • 能不能保存更多评论?已经可以😋
  • 如何保存PDF?右键-->打印-->打印为PDF
  • 能否批量保存某答主/问题?不能,请找爬蟲,或使用下面推荐
  • 已知问题:保存为图片时部分样式轻微异常
  • 已知问题:未适配视频页和部分视频
  • 已知问题:如果想法有大于 4 张图,则只能保存前 4 张
  • 在关注页等页面,无法获取作者个性签名
  • 提示:个人页的想法,点击发布时间,即可进到想法页,保存评论
  • 如果脚本安装后无法运行(管理器中显示已启用未执行),请至浏览器 - 扩展 - 打开开发者选项,这是油猴的要求

其他推荐:

开发

pnpm i

0.7.11+已启用更方便的测试:

  1. 允许脚本管理器 Tampermonkey 访问文件网址 右键插件图标-插件管理页面-访问文件网址 或者参照官方 faq
  2. 在脚本管理器中安装scripts/dev.js,并且修改其@require为正确的路径,以调用本地的dist/bundle.js
  3. pnpm dev
  4. 刷新目标网页
pnpm build

需修改以解决压缩包时间错误问题: https://github.com/Stuk/jszip/pull/735/files ,并且,不可安装 3.10.1:https://github.com/Stuk/jszip/issues/814#issuecomment-1139378561

原理

技术路线为解析 DOM,而非请求 api,所以不易受限,更直观,更可靠

  1. 获取页面中所有的富文本框 RichTextDOM
  2. 根据需要将评论暂存,以备保存
  3. DOM 使用 ./src/lexer.ts 转换为 Lex
  4. Lex 使用 ./src/parser.ts 转换为 Markdown
  5. 根据每个 DOM 获取标题等信息

TODO

  • [X] 下载文章时包含头图
  • [X] TOC解析
  • [X] 解析当前页评论为Markdown
  • [X] 为Markdown添加frontmatter
  • [ ] 考虑移除info.json
  • [ ] 用户自定义配置(麻烦,脚本开源,请自行修改)
  • [ ] 可选是否保存图片
  • [ ] 存长图时自动使图都加载
  • [ ] 可选是否自动展开评论
  • [X] 整理程序框图
  • [ ] 检查与 知乎增强 脚本的兼容性
  • [ ] 下载想法中的视频
  • [X] 评论解析器,用于解析弹出框中的评论
  • [ ] 更多可配置项(开关)
  • [X] 评论相对时间转绝对时间
  • [ ] 更好的代码组织,以处理不同的任务,并且考虑开关
  • [ ] 评论暂存的反馈

Changelog

  • 0.10.0(2025.1.13):
    • 全新的评论解析器,可以解析弹出框中的评论
    • 性能优化
    • 评论相对时间转绝对时间
    • 补充转发想法缺少的换行
  • 25.1.3(0.9.32):
    • 保存想法的标题
    • 移除更多的搜索推荐词
  • 24.12.20(0.9.30):
    • 修复无法保存无字想法问题
    • 修复下载 zip 与油猴菜单的冲突
    • 现在提示保存失败后无需滚动即可重新保存
  • 24.12.3(0.9.26):
    • 修复突然无法下载 zip 问题
    • 现在展开内容后无需滚动即可保存
    • 开启复制带 fm 时不再额外带标题
  • 24.11.21(0.9.23):
    • 复制时可以包含 frontmatter 信息了(需通过油猴菜单手动打开)
    • 添加了油猴脚本选项菜单
  • 24.11.13(0.9.22):
    • 修复两处截图样式异常问题
    • 修复浏览器窗口过窄时按钮溢出屏幕的问题
    • 修复按时间排序的问题被误判为回答的问题
  • 24.10.24(0.9.18):
    • 修复保存分段引用内容未分段问题
    • 修复保存带标点加粗内容在阅读器中误加粗问题
    • 修复保存段首有空格内容在阅读器中误判为代码块问题
    • 修复收藏夹页无法保存部分图片问题
    • 保存图注(图片下方灰字)作为斜体的普通段落
    • 复制除想法外内容时添加标题
  • 24.8.26(0.9.11):
    • 修复保存转发的想法异常
    • 修复新的样式异常
    • frontmatter 添加作者个性签名
  • 24.7.10(0.9.7):
    • 修复搜索结果页保存报错
    • 修复获取评论数量不对
  • 24.6.13(0.9.6):
    • 修复新的截图出错问题
  • 24.6.12(0.9.5):
    • 文章页截图不会再截到按钮了
    • 移除没图片时多余的 assets 文件夹
    • 添加保存为单文件功能
    • 支持保存评论中贴纸表情
    • 修复评论中图片重复的问题
    • 优化体验,写备注时可以把文本框拖大
  • 24.3.29(0.8.25):
    • 移除没图片评论时多余的 assets 文件夹
    • 修复新的无法保存评论问题
    • 下载文章时包含头图
  • 24.3.28(0.8.22):
    • 隐藏已折叠内容下的按钮
    • 修复保存无名用户内容出错
    • 修复按钮干扰选择文字的问题
    • 修复点击保存评论时奇怪的跳转问题
  • 24.3.27(0.8.18):
    • 保存失败时给予补救机会
    • 修复按钮被目录遮挡无法点击
    • 修复无法保存机构号主页内容
    • 修复 url 获取错误
    • 内容子标题从 h2 开始
    • 解析参考文献
    • 解析目录
  • 24.3.20(0.8.8):
    • 修复保存匿名用户内容出错
    • 增加保存失败原因提示
  • 24.3.4(0.8.7):
    • 更方便的测试
    • 解析评论为Markdown
    • 评论图片本地化
    • 完善解析评论修复bug
    • 修复zip内文件日期错误问题
    • 修复无法下载视频问题
    • 适配推荐页、搜索结果页
    • info中添加ip属地(如果有)
    • 修复想法无法保存图片
  • 24.2.29(0.7.10):
    • 备注改为最长60字
    • 修复个人页无法保存想法问题
    • 修复保存zip处理评论可能出错问题
  • 24.2.4(0.7.7):
    • 为Markdown添加frontmatter
    • 修正下载md内的图片路径为本地路径
    • 对于有目录的内容,减轻按钮与目录的重叠
  • 24.1.19(0.7.4):
    • 截图适配专栏文章
  • 24.1.13(0.7.x):
    • 粗略解析评论并添加到zip
    • 修复大量bug
    • 准备发布
  • 24.1.13(0.6.x):
    • 适配想法中的复杂情形
  • 24.1.11(0.5.x):
    • 添加截图功能
    • 初步适配想法
  • 24.1.2(0.4.x):
    • 初步重制
  • 23.12.29:
    • 立项