一鍵導出「有道雲筆記」所有筆記

作者:DeppWang原文地址

一、出發點

原來一直是有道雲筆記的忠實用戶,後面接觸到了所見即所得的 Typora,有點用不慣有道雲筆記了,想着有什麼法子能電腦本地文件和有道雲筆記同步,這樣電腦使用 Typora,手機使用有道雲筆記。發現有道雲筆記有 Open API ,打算利用提供的 API,寫兩個腳本,一個 pull 所有文件到本地,一個 push 本地文件到雲筆記。但 API 太難用了,N 多年沒更新了,問客服也沒更新的意思,開發到最後發現竟然沒有 Markdown 文件的接口,醉了。遂放棄。

現在我使用 Typora + Dropbox + MWeb 實現同步筆記和手機查看編輯的功能,很香。

最近給朋友推薦此方式,但發現有道雲筆記最新的 Mac 客戶端和網頁端去除了導出所有筆記的功能!這是什麼邏輯,怕用戶跑了麼。不怕,正好我原來寫了導出所有筆記的腳本。

我發現知乎也有很多人關注這個問題:https://www.zhihu.com/question/21113940

二、導出所有筆記

導出格式爲原來默認的格式,如:Markdown 文件就是以 .md 結尾,筆記文件以 .note 結尾

1、導出前的準備工作

  • clone 項目,裏面包含腳本
git clone [email protected]:DeppWang/youdaonote-pull.git
cd youdaonote-pull
brew install python3 # Homebrew 安裝 python3
sudo easy_install pip3 # 安裝 Python3 Package Installer
pip3 install requests # 安裝 requests 包,腳本依賴 requests

2、運行導出腳本

python3 pullAll.py <username> <password> [localDir] # macOS
python pullAll.py <username> <password> [localDir] # Windows
  • username:必填,你的有道雲筆記用戶名
  • password:必填,你的有道雲筆記密碼
  • localDir:選填,本地存放導出文件的文件夾,不填則默認爲當前文件夾

3、示例:

python3 pullAll.py [email protected] 1234567 ~/Dropbox/youdaonote

4、兩個問題

  1. 如果你筆記的類型是「筆記」,那麼導出的文件後綴是 .note,你使用 sublime 打開後會發現它是一個 xml 文件。此時只能在有道雲筆記手動複製粘貼,如果你有大量這種類型文檔,可以提個 issue,我嘗試用代碼看是否能解決。ps:強烈建議使用 Markdown。
  2. 你上傳的圖片不能顯示。因爲 md 文件的圖片地址沒有使用絕對地址,而是使用相對地址,導致圖片不能正確顯示。

5、pullAll-config

上一次輸入的相關參數會保存到 pullAll-config 中,如果參數不變,再次同步時,可以直接輸入以下命令:

python3 pullAll.py # macOS
python pullAll.py # Windows

ps:腳本單純本地運行,不用擔心你的賬號密碼泄露

三、導出指定文件夾

如果你可不想導出所有文件夾,你可以導出指定文件夾

1、運行腳本

python3 pullAll.py <username> <password> [[localDir] [ydnoteDir]] # MacOS
python pullAll.py <username> <password> [[localDir] [ydnoteDir]] # Windows
  • ydnoteDir:有道雲筆記指定導出文件夾名

2、示例

python3 pullAll.py [email protected] 1234567 ~/GitHub GitHub

3、效果

pullAll.py 腳本採用模擬登陸方式,頻繁操作會被封 ip,此時可等待幾分鐘後重試,若一直被封。也可使用下面這種方式

分享文件夾方式

1、先在有道雲筆記上分享文件夾

  • shareKey:必填,當前文件夾的 shareKey(分享鏈接(url)的 id 也是 shareKey)
  • dirId:必填,分享文件夾的 id
  • localDir:選填,本地文件夾名,不填則默認爲當前文件夾

2、運行腳本

python3 pull.py <shareKey> <dirId> [localDir] # macOS
python pull.py <shareKey> <dirId> [localDir] # Windows
  • localDir:選填,本地存放導出文件的文件夾,不填則默認爲當前文件夾

3、示例

python3 pull.py <shareKey> WEB0868de6ab385d5f607b29e8cb13ffecc ~/GitHub # macOS

4、效果

5、一個問題

因爲這個腳本我原來只導出 Markdown 格式筆記,經測試,導出的文件的 .note 文件不能正常打開,如果你有這方面的需求,請提 issue。

6、config

跟上面一樣,上一次輸入的相關參數會保存到 config 中,如果參數不變,再次同步時,可以直接輸入以下命令:

python3 pull.py # macOS
python pull.py # Windows

四、感謝(參考)

有道雲筆記有個功能還是比較好的,Markdown 轉 PDF 很耐看。使用方式,網頁版左上角選擇打印,另存爲 PDF。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章