最近、市内で初めて開催されるオフラインの大会がありますが、会場でのネットワーク接続が不確定なため、予備の資料を用意してパフォーマンスを確保しようと考えています。しかし、私の手元にあるすべての情報は、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をコピーする
企業のプライベートサービス#
経験がないので、公式ドキュメントをポストします
企業サービスは独自のドメイン(黄色い Yuque のロゴ)を持っており、
yuque.com
で終わらない場合があります。例えば、https://yuque.antfin.com/r/zone
のようなものです。この場合、トークンのキーは一意ではなく、必ずしも
_yuque_session
ではないため、ユーザーは-k
オプションでトークンのキーを指定し、-t
オプションでトークンの値を指定する必要があります。トークンの具体的なキーは、ユーザー自身が
ブラウザのDevtools-> Application -> Cookies
で探すしかありません🤔
公開パスワードでアクセスできるナレッジベース#
⚠️ 公開パスワードでアクセスできるナレッジベースには 2 つのケースがあります:
-
Yuque にログインしている場合、パスワードが必要なナレッジベースにアクセスするには
_yuque_session
という Cookie を使用します。yuque-dl "url" -t "_yuque_sessionの値"
コンソールに移動
=>Applicationタブを選択
=>Cookiesの下のStorageをクリックしてYuqueのルートドメインを見つける
=>_yuque_sessionを選択してそのValueをコピーする
-
Yuque にログインしていない場合、パスワードが必要なナレッジベースにアクセスするには
verified_books
/verified_docs
という Cookie を使用します。yuque-dl "url" -k "verified_books" -t "verified_booksの値"
コンソールに移動
=>Applicationタブを選択
=>Cookiesの下のStorageをクリックしてYuqueのルートドメインを見つける
=>verified_books
/verified_docsを選択してそのValueをコピーする
ダウンロードが完了すると、以下のようになります。ダウンロードに失敗したものは、ブラウザでアクセスできるかどうか確認してください。
更新が必要な場合は、ダウンロードしたフォルダの内容を変更せずに、ダウンロードコマンドを再実行してください。
0x04 ローカルでのクイックプレビュー#
yuque-dl には、vitepressを使用してダウンロードしたコンテンツをプレビューするためのWebサーバーを素早く起動する
機能があります。
yuque-dl server ./download/知識ベース/
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
0x05 追記#
各大星球整理出来たナレッジベースは、星球主自身の知識の結晶です。いくつかは歴史の文庫をまとめたものであり、他のものは自分でまとめたものです。どちらにしても、エクスポートした結果は自分自身のために保管しておくだけで十分です。他の人と共有することは、実際には非倫理的です。
いくつかの公開されたナレッジベースを共有します:
この記事は Mix Space から xLog に同期されています。
元のリンクは https://de3ay.com/posts/sec/yuque-encrypted-download