yuque-dl-语雀知识库下载为本地markdown
之前有下载语雀的需求,发现了一个开源项目,用起来还是很顺手的
需要环境
需要前端的node环境 https://nodejs.cn/
- Node.js 18.4 or later
插入
npm i -g yuque-dl
使用
$ yuque-dl --helpUsage:$ yuque-dl <url>Commands:<url> 语雀知识库urlserver <serverPath> 启动web服务For more info, run any command with the `--help` flag:$ yuque-dl --help$ yuque-dl server --helpOptions:-d, --dist-dir <dir> 下载的目录 eg: -d download (default: download)-i, --ignore-img 忽略图片不下载 (default: false)-k, --key <key> 语雀的cookie key, 默认是 "_yuque_session", 在某些企业版本中 key 不一样 -t, --token <token> 语雀的cookie key 对应的值 --toc 是否输出文档toc目录 (default: false)-h, --help Display this message -v, --version Display version number
使用
# url 为对应需要的知识库地址
yuque-dl "https://www.yuque.com/yuque/thyzgp"
示例
其他场景
私有知识库
通过别人私有知识库 分享的链接,需使用-t
添加token才能下载
yuque-dl “https://www.yuque.com/yuque/thyzgp” -t “abcd…”
token的获取请看
企业私有服务
企业服务有自己的域名(黄色语雀logo),非yuque.com
结尾, 如https://yuque.antfin.com/r/zone
这种情况 token的key不唯一, 不一定是为_yuque_session
需用户使用 -k
指定 token的key,-t
指定 token的值。
至于key
具体是什么只能靠用户自己在 浏览器Devtools-> Application -> Cookies
里找了🤔
公开密码访问的知识库
⚠️ 公开密码访问的知识库两种情况:
- 已经登录语雀,访问需要密码的知识库 输入密码后使用
_yuque_session
这个cookie
yuque-dl “url” -t “_yuque_session的值”
- 未登录语雀,访问需要密码的知识库 输入密码后需要使用
verified_books
/verified_docs
这个cookie
yuque-dl “url” -k “verified_books” -t “verified_books的值”
内置启动web服务可快速预览
使用vitepress快速启动一个web服务提供可预览下载的内容
yuque-dl server ./download/知识库/➜ Local: http://localhost:5173/
➜ Network: use --host to expose
Feature
- 支持下载中断继续
- 支持图片下载本地
- 支持下载分享私有的知识库
- 支持转换表格类型的文档 (ps: 表格内插入图表暂不支持)
- 添加toc目录功能
- 添加测试
- 添加附件下载
- 支持其他文档类型?🤔
- 直接打包成可执行文件 🤔
常见错误
- 由于token可能含有 特殊字符导致参数识别错误
yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "-a123"
yuque-dl [ERROR]: Unknown option `-1`
解决方案
yuque-dl “https://www.yuque.com/yuque/thyzgp” -t=“-a123”
- 附件下载失败,需设置登录token
附件文件下载需要用户登录token,即使是完全公开的知识库,下载附件也可能需要
完全公开的知识库未登录的情况下查看附件:
网络问题,可以断点继续下载
由于网络波动下载失败的,重新运行即可,已下载的进度不会受到影响