向诚

向诚

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

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

最近、市内で初めて開催されるオフライン大会がありますが、会場でのネットワーク接続が不確定なため、予備の弾薬庫を用意してパフォーマンスを保証したいと考えています。しかし、私の手元にあるすべての情報は、Yuque の暗号化されたナレッジベースから取得されています。以前、友達の投稿で一括エクスポートできる方法を見つけましたが、Google で長い間検索しても見つかりませんでした。Github で素晴らしいプロジェクトを見つけました。公開パスワードでアクセスできるナレッジベースを一括ダウンロードし、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サーバーを起動する

  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>       Yuqueのcookieキー、デフォルトは "_yuque_session"、一部の企業版ではキーが異なる場合があります
    -t, --token <token>   Yuqueのcookieキーに対応する値
    --toc                 ドキュメントの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 からの同期更新です
元のリンクは https://de3ay.com/posts/sec/yuque-encrypted-download


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