知乎备份剪藏

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

当前为 2024-12-20 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴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.9.30
创建于
2024-02-04
更新于
2024-12-20
大小
231.4 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

原理

  1. 获取页面中所有的富文本框 RichTextDOM
  2. DOM 使用 ./src/lexer.ts 转换为 Lex
  3. Lex 使用 ./src/parser.ts 转换为 Markdown
  4. 根据每个 DOM 获取标题等信息

TODO

  • [X] 下载文章时包含头图
  • [X] TOC解析
  • [X] 解析当前页评论为Markdown
  • [X] 为Markdown添加frontmatter
  • [ ] 考虑移除info.json
  • [ ] 用户自定义配置(麻烦,脚本开源,请自行修改)
  • [ ] 可选是否保存图片
  • [ ] 存长图时自动使图都加载
  • [ ] 可选是否自动展开评论
  • [ ] 整理程序框图
  • [ ] 确认与 知乎增强 脚本的兼容性
  • [ ] 下载想法中的视频
  • [ ] 评论解析器,用于解析翻页后的评论并复制
  • [ ] 更多可配置项(开关)

Changelog

  • 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:
    • 立项