作为一款老牌云笔记服务,有道云笔记确实积累了不少忠实用户。但近年来,越来越多笔记爱好者开始转向Obsidian这类本地优先、支持Markdown的知识管理工具。我本人也是在去年完成了从有道云笔记到Obsidian的全面迁移,这个过程虽然有些技术细节需要注意,但绝对值得投入时间。
Obsidian相比有道云笔记有几个显著优势:首先是数据完全本地存储,不用担心服务突然关闭导致笔记丢失;其次是基于Markdown的纯文本格式,未来迁移到其他工具几乎零成本;再者是强大的双向链接和知识图谱功能,能真正建立起笔记间的有机联系。不过有道云笔记的导出过程确实有些"坑",接下来我就详细分享下整个迁移流程中的关键步骤和避坑经验。
在开始迁移前,建议准备好以下工具:
提示:建议在迁移前先在测试目录操作,确认无误后再导入Obsidian库。我曾因为直接操作导致部分笔记格式错乱,不得不重新来过。
登录有道云笔记网页版,检查以下几点:
这个开源脚本是目前最可靠的有道云笔记导出方案。具体操作:
bash复制git clone https://github.com/DeppWang/youdaonote-pull.git
cd youdaonote-pull
npm install
node index.js
运行后会提示输入有道云笔记账号密码。这里有个常见问题:如果开启了二次验证,需要在密码后追加验证码,格式为"密码,验证码"。
导出完成后,你会得到两种文件:
.md文件:已经是Markdown格式的笔记.note文件:实质是HTML格式的网页源码对于.note文件,需要使用html-to-markdown工具进行转换:
bash复制npm install -g html-to-markdown
html-to-markdown 输入文件.note > 输出文件.md
转换时需要注意几个关键点:
我在实际操作中发现,转换后的文件有时会包含大量HTML注释,可以用以下命令批量清理:
bash复制find . -name "*.md" -exec sed -i '/<!--.*-->/d' {} \;
有道云笔记中的图片通常存储在其CDN上,直接转换后链接会失效。推荐两种解决方案:
方案一:下载图片到本地
bash复制# 使用wget批量下载图片
grep -oP 'http[^"]+\.(jpg|png|gif)' *.md | sort | uniq | wget -i -
方案二:替换为图床链接
如果不想管理本地图片,可以使用PicGo等工具上传到图床后批量替换链接。
直接将所有Markdown文件复制到Obsidian库的根目录不是个好主意。建议按以下结构组织:
code复制笔记库/
├── 日记/
├── 工作/
├── 学习/
└── 资源/
├── 图片/
└── 附件/
可以使用脚本自动分类:
python复制# 示例分类脚本(需根据实际笔记内容调整)
import os
import shutil
for filename in os.listdir('.'):
if filename.endswith('.md'):
with open(filename) as f:
content = f.read()
if '会议' in content:
shutil.move(filename, '工作/'+filename)
elif '读书' in content:
shutil.move(filename, '学习/'+filename)
Obsidian支持YAML frontmatter,建议统一添加:
markdown复制---
created: 2023-07-15
tags: [笔记, 迁移]
---
可以使用以下命令批量添加:
bash复制for file in *.md; do
echo -e "---\ncreated: $(date -r "$file" +%F)\n---\n$(cat "$file")" > "$file"
done
现象:列表层级丢失、表格变形
解决方案:
bash复制pandoc -f html -t markdown -o output.md input.note
原因:编码问题导致
解决方案:
bash复制convmv -f gbk -t utf-8 --notest *.md
有道云笔记中的附件(如PDF、Word)需要单独导出:
完成基础迁移后,可以考虑以下优化措施:
我在迁移三个月后,又花时间对所有笔记进行了重构,这个过程中发现几个有用的插件:
整个迁移过程最耗时的其实是后续的整理阶段,建议预留足够时间。我现在每周还会花1-2小时优化笔记结构,这种持续迭代的方式比一次性完美迁移更实际。