向诚

向诚

巷子里的猫很自由,却没有归宿。
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


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。