有道云笔记导出到Notion

路线:有道云通过youdaonote-pull导出为Markdown格式(图片保存在本地,通过Typora将本地图片上传到GithubNotion导入Markdown文件。

背景

从2014年开始使用有道云笔记,到现在已有八年多时间,有道云笔记可以在多端使用,很方便随时实地查看、修改、记录笔记,相对来说还是很不错的。

随着时间的推移,笔记的增多,有道云的弊端也逐渐显现出来,搜索功能特别不好用,经常搜不到你想的内容。同时最近几年各种新笔记软件新功能的推出,有道云的老态也在逐步浮现。

有道云越来越封闭的环境,只能导出为有道云格式或PDF格式的笔记是决定离开有道云最重要的原因,不能够自由导出,意味着笔记越多,日后离开的成本就越高,现在还有类似youdaonote-pull的脚本可以导出为Markdown格式,日后哪一天说不定有道云会把这个通道也给堵住了,那就是真的无法离开了。

导出有道云笔记

安装youdaonote-pull

脚本地址:https://github.com/DeppWang/youdaonote-pull

安装Git

可根据 廖雪峰 Git 教程 安装 Git

1
2
# 查看Git是否安装成功
git --version

安装Python3

可根据 廖雪峰 Python 教程 安装 Python3

1
2
3
# 查看Python3是否安装成功
python3 --version # macOS/Linux
python --version # Windows

下载配置脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
# 下载脚本
git clone https://github.com/DeppWang/youdaonote-pull.git
# 进入脚本目录
cd youdaonote-pull
# 创建脚本运行的虚拟环境
python3 -m venv env # Macos/Linux
python -m venv env # Windows
# 激活虚拟环境
source env/bin/activate # Macos/Linux
env/Scripts/activate # Windows
# 安装依赖包
pip install -r requirments.txt

设置登录 Cookies 文件 cookies.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"cookies": [
[
"YNOTE_CSTK",
"**",
".note.youdao.com",
"/"
],
[
"YNOTE_LOGIN",
"**",
".note.youdao.com",
"/"
],
[
"YNOTE_SESS",
"**",
".note.youdao.com",
"/"
]
]
}

由于有道云笔记登录升级,目前脚本不能使用账号密码登录,只能使用 Cookies 登录。

获取 Cookies 方式:

  • 在浏览器如 Chrome 中使用账号密码或者其他方式登录有道云笔记

  • 打开 DevTools (F12),Network 下找「主」请求(一般是第一个),再找 Cookie

  • 复制对应数据替换 **

CleanShot 2022-09-29 at 10.28.44@2x

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"cookies": [
[
"YNOTE_CSTK",
"rR_Pejz0",
".note.youdao.com",
"/"
],
[
"YNOTE_LOGIN",
"3||1649054441155",
".note.youdao.com",
"/"
],
[
"YNOTE_SESS",
"v2|BdllbnwfaWl5RMUWOfqZ0gShf***6LqFRqB0MYfh4JLR",
".note.youdao.com",
"/"
]
]
}

设置脚本参数配置文件 config.json

建议使用 Sublime 等三方编辑器编辑 config.json,避免编码格式错误

1
2
3
4
5
{
"local_dir": "",
"ydnote_dir": "",
"smms_secret_token": ""
}
  • local_dir:选填,本地存放导出文件的文件夹,不填则默认为当前文件夹

  • ydnote_dir:选填,有道云笔记指定导出文件夹名,不填则导出所有文件

  • smms_secret_token:选填, SM.MSSecret Token(注册后 -> Dashboard -> API Token),用于上传笔记中有道云图床图片到 SM.MS 图床,不填则只下载到本地(youdaonote-images 文件夹),Markdown 中使用本地链接

    注:本次将图片保存在本地,所以本配置文件默认都为空即可

示例:

  • macOS
1
2
3
4
5
{
"local_dir": "/Users/deppwang/Documents/youdaonote-pull/test",
"ydnote_dir": "",
"smms_secret_token": "SGSLk9yWdTe4RenXYqEPWkqVrx0Yexample"
}
  • Windows
1
2
3
4
5
{
"local_dir": "D:/Documents/youdaonote-pull/test",
"ydnote_dir": "",
"smms_secret_token": "SGSLk9yWdTe4RenXYqEPWkqVrx0Yexample"
}

运行脚本

1
python pull.py

Typora将本地图片上传到Github

由于Notion导入Markdown时无法将本地图片上传到Notion,只能使用图床。本次使用Tpyora + PicGo + Github上传本地图片。

下载安装Typora

下载地址:https://typora.io/#download

下载安装PicGo

点击此处下载 应用

Windows

Windows 用户请下载最新版本的 exe 文件。

还可以使用 Scoop 来安装 PicGo: scoop bucket add helbing https://github.com/helbing/scoop-bucket & scoop install picgo。 感谢 @helbing 的贡献!

还可以使用 Chocolatey 来安装 PicGo: choco install picgo。 感谢 @iYato 的贡献!

macOS

macOS 用户请下载最新版本的 dmg 文件。

还可以使用 Homebrew 来安装 PicGo: brew install picgo --cask。感谢 @womeimingzi11 的贡献!

Linux

Linux 用户请下载 AppImage 文件。

如果你是 Arch 类的 Linux 用户,可以直接通过 yay -S picgo-appimage 来安装 PicGo (若是没有则先安装 yay ,是 aur 仓库助手)。感谢 @houbaron 的贡献!

配置Tpyora + PicGo + Github

配置方法可以参考这篇文章:PicGo图床与Typora(PicGo+Typora+GitHub的完整设置

本地图片上传到Github

暂时我没有找到可以将整个文件夹的所有本地图片一次上传到Github的方法,只能一次上传一个Markdown文件里的所有图片。

CleanShot 2022-09-29 at 11.18.31@2x

默认上传所有图片是没有快捷键的,这里的快捷键是我自己配置的,配置Typora快捷键方式:

系统设置 -> 键盘 -> 快捷键 -> App快捷键 -> +

CleanShot 2022-09-29 at 11.22.34@2x

CleanShot 2022-09-29 at 11.25.01@2x

上传本地Markdown文件到Notion

CleanShot 2022-09-29 at 11.27.47@2x

CleanShot 2022-09-29 at 11.29.11@2x