向诚

向诚

巷子里的猫很自由,却没有归宿。
telegram
email

语雀知识库批量导出(支持私有知识库&公开密码访问的知识库)

最近有个线下赛,由于是市里第一次举办所以不确定赛场出不出网,想着备点弹药库保证一下发挥。但是我手上所有的资料都来自语雀的加密知识库,之前在朋友圈看到有人可以批量导出,Google 找了好久的方法都没什么发现,在 Github 找到了一个比较不错的项目,可以通过使用 Cookie 的方法批量下载公开密码访问的知识库,并保存为 Markdown,下列附使用教程。
repo:gxr404/yuque-dl

0x01 环境准备#

Node.js 18.4 or later

本文基于 Windows 平台下进行演示,直接使用预购建安装程序安装即可。

0x02 程序使用#

安装命令

npm i -g yuque-dl

使用命令

$ yuque-dl --help

  Usage:
    $ yuque-dl <url>

  Commands:
    <url>                语雀知识库url
    server <serverPath>  启动web服务

  For more info, run any command with the `--help` flag:
    $ yuque-dl --help
    $ yuque-dl server --help

  Options:
    -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 

0x03 开始下载#

私有知识库#

通过别人私有知识库 分享的链接,需使用-t添加 token 才能下载

yuque-dl "https://www.yuque.com/yuque/thyzgp" -t "abcd..."

进入Console(控制台)=>选中Application标签卡=>点Storage下的Cookies找到语雀根域=>选中_yuque_session并复制其Value

image-20240721122402112

企业私有服务#

没遇到过,po 一下官方文档

企业服务有自己的域名 (黄色语雀 logo),非yuque.com结尾,如https://yuque.antfin.com/r/zone

这种情况 token 的 key 不唯一,不一定是为_yuque_session 需用户使用 -k 指定 token 的 key,-t 指定 token 的值。

至于key具体是什么只能靠用户自己在 浏览器Devtools-> Application -> Cookies 里找了🤔

公开密码访问的知识库#

public_pwd

⚠️ 公开密码访问的知识库两种情况:

  • 已经登录语雀,访问需要密码的知识库 输入密码后使用_yuque_session这个 cookie

    yuque-dl "url" -t "_yuque_session的值"
    

    进入Console(控制台)=>选中Application标签卡=>点Storage下的Cookies找到语雀根域=>选中_yuque_session并复制其Value

    image-20240721123008479

  • 未登录语雀,访问需要密码的知识库 输入密码后需要使用verified_books/verified_docs这个 cookie

    yuque-dl "url" -k "verified_books" -t "verified_books的值"
    

进入Console(控制台)=>选中Application标签卡=>点Storage下的Cookies找到语雀根域=>选中verified_books/verified_docs并复制其Value

image-20240721122914944

下载完成后是这个样子的,有些无法下载成功的可以去浏览器里看能否可以访问

image-20240721123752399

需要更新的时候,保持下载的 download 文件夹内容不变重新跑一下 download 命令即可

0x04 本地快速预览#

yuque-dl 提供了一个使用vitepress快速启动一个web服务提供可预览下载的内容的功能

yuque-dl server ./download/知识库/

➜  Local:   http://localhost:5173/
➜  Network: use --host to expose

server

0x05 附言#

各大星球整理出来的知识库都是星球主自己知识的结晶,有的要么就是统计历史的文库,要么就是自己打下来的 day,无论如何,导出的结果留着自己用就行了,分享出去其实挺不道德的。。

分享一些我搜寻出来的公开知识库:

此文由 Mix Space 同步更新至 xLog
原始链接为 https://de3ay.com/posts/sec/yuque-encrypted-download


加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。