最近有個線下賽,由於是市裡第一次舉辦所以不確定賽場出不出網,想着備點彈藥庫保證一下發揮。但是我手上所有的資料都來自語雀的加密知識庫,之前在朋友圈看到有人可以批量導出,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
企業私有服務#
沒遇到過,po 一下官方文檔
企業服務有自己的域名 (黃色語雀 logo),非
yuque.com
結尾,如https://yuque.antfin.com/r/zone
這種情況 token 的 key 不唯一,不一定是為
_yuque_session
需用戶使用-k
指定 token 的 key,-t
指定 token 的值。至於
key
具體是什麼只能靠用戶自己在瀏覽器Devtools-> Application -> Cookies
裡找了🤔
公開密碼訪問的知識庫#
⚠️ 公開密碼訪問的知識庫兩種情況:
-
已經登錄語雀,訪問需要密碼的知識庫 輸入密碼後使用
_yuque_session
這個 cookieyuque-dl "url" -t "_yuque_session的值"
進入Console(控制台)
=>選中Application標籤卡
=>點Storage下的Cookies找到語雀根域
=>選中_yuque_session並複製其Value
-
未登錄語雀,訪問需要密碼的知識庫 輸入密碼後需要使用
verified_books
/verified_docs
這個 cookieyuque-dl "url" -k "verified_books" -t "verified_books的值"
進入Console(控制台)
=>選中Application標籤卡
=>點Storage下的Cookies找到語雀根域
=>選中verified_books
/verified_docs並複製其Value
下載完成後是這樣子的,有些無法下載成功的可以去瀏覽器裡看能否可以訪問
需要更新的時候,保持下載的 download 文件夾內容不變重新跑一下 download 命令即可
0x04 本地快速預覽#
yuque-dl 提供了一個使用vitepress快速啟動一個web服務提供可預覽下載的內容
的功能
yuque-dl server ./download/知識庫/
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
0x05 附言#
各大星球整理出來的知識庫都是星球主自己知識的結晶,有的要麼就是統計歷史的文庫,要麼就是自己打下來的 day,無論如何,導出的結果留著自己用就行了,分享出去其實挺不道德的。。
分享一些我搜尋出來的公開知識庫:
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://de3ay.com/posts/sec/yuque-encrypted-download