向诚

向诚

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

语雀知識庫批量導出(支持私有知識庫&公開密碼訪問的知識庫)

最近、市内で初めて開催されるオフラインの大会がありますが、会場でのネットワーク接続が不確定なため、予備の資料を用意してパフォーマンスを確保しようと考えています。しかし、私の手元にあるすべての情報は、Yuque の暗号化されたナレッジベースから取得したものです。以前、SNS でバルクエクスポートができるという情報を見かけましたが、Google で長時間検索しても見つかりませんでした。GitHub で非常に良いプロジェクトを見つけました。Cookie を使用して公開パスワードでアクセスできるナレッジベースをバルクダウンロードし、Markdown 形式で保存することができます。以下に使用方法を示します。
リポジトリ:gxr404/yuque-dl

0x01 環境の準備#

Node.js 18.4 以降

この記事では、Windows プラットフォームを基にしてデモを行います。プリビルドされたインストーラーを使用して直接インストールしてください。

0x02 プログラムの使用方法#

インストールコマンド

npm i -g yuque-dl

使用方法

$ yuque-dl --help

  Usage:
    $ yuque-dl <url>

  Commands:
    <url>                YuqueのナレッジベースのURL
    server <serverPath>  Webサーバーを起動する

  詳細な情報については、`--help`フラグを使用してコマンドを実行してください:
    $ yuque-dl --help
    $ yuque-dl server --help

  オプション:
    -d, --dist-dir <dir>  ダウンロード先のディレクトリ eg: -d download (default: download)
    -i, --ignore-img      画像をダウンロードしない (default: false)
    -k, --key <key>       YuqueのCookieキー、デフォルトは "_yuque_session"、一部の企業版ではキーが異なる場合があります
    -t, --token <token>   YuqueのCookieキーに対応する値
    --toc                 ドキュメントの目次を出力するかどうか (default: false)
    -h, --help            このメッセージを表示する
    -v, --version         バージョン番号を表示する

0x03 ダウンロードの開始#

プライベートなナレッジベース#

他の人が共有したプライベートなナレッジベースのリンクを使用する場合、ダウンロードするには-tオプションでトークンを追加する必要があります。

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

コンソールに移動=>Applicationタブを選択=>Cookiesの下のStorageをクリックしてYuqueのルートドメインを見つける=>_yuque_sessionを選択してそのValueをコピーする

image-20240721122402112

企業のプライベートサービス#

経験がないので、公式ドキュメントをポストします

企業サービスは独自のドメイン(黄色い Yuque のロゴ)を持っており、yuque.comで終わらない場合があります。例えば、https://yuque.antfin.com/r/zoneのようなものです。

この場合、トークンのキーは一意ではなく、必ずしも_yuque_sessionではないため、ユーザーは-kオプションでトークンのキーを指定し、-tオプションでトークンの値を指定する必要があります。

トークンの具体的なキーは、ユーザー自身がブラウザのDevtools-> Application -> Cookiesで探すしかありません🤔

公開パスワードでアクセスできるナレッジベース#

public_pwd

⚠️ 公開パスワードでアクセスできるナレッジベースには 2 つのケースがあります:

  • Yuque にログインしている場合、パスワードが必要なナレッジベースにアクセスするには_yuque_sessionという Cookie を使用します。

    yuque-dl "url" -t "_yuque_sessionの値"
    

    コンソールに移動=>Applicationタブを選択=>Cookiesの下のStorageをクリックしてYuqueのルートドメインを見つける=>_yuque_sessionを選択してそのValueをコピーする

    image-20240721123008479

  • Yuque にログインしていない場合、パスワードが必要なナレッジベースにアクセスするにはverified_books/verified_docsという Cookie を使用します。

    yuque-dl "url" -k "verified_books" -t "verified_booksの値"
    

コンソールに移動=>Applicationタブを選択=>Cookiesの下のStorageをクリックしてYuqueのルートドメインを見つける=>verified_books/verified_docsを選択してそのValueをコピーする

image-20240721122914944

ダウンロードが完了すると、以下のようになります。ダウンロードに失敗したものは、ブラウザでアクセスできるかどうか確認してください。

image-20240721123752399

更新が必要な場合は、ダウンロードしたフォルダの内容を変更せずに、ダウンロードコマンドを再実行してください。

0x04 ローカルでのクイックプレビュー#

yuque-dl には、vitepressを使用してダウンロードしたコンテンツをプレビューするためのWebサーバーを素早く起動する機能があります。

yuque-dl server ./download/知識ベース/

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

server

0x05 追記#

各大星球整理出来たナレッジベースは、星球主自身の知識の結晶です。いくつかは歴史の文庫をまとめたものであり、他のものは自分でまとめたものです。どちらにしても、エクスポートした結果は自分自身のために保管しておくだけで十分です。他の人と共有することは、実際には非倫理的です。

いくつかの公開されたナレッジベースを共有します:

この記事は Mix Space から xLog に同期されています。
元のリンクは https://de3ay.com/posts/sec/yuque-encrypted-download


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。