如何从印象笔记迁移到Notion

最近几次访问国内印象笔记的体感非常不好,不是网络的问题,估计就是服务器问题了,于是想找找有没有其他的平台可以使用。接着就找到了Notion,之前也听说过,抱着试一试的态度试了下,感觉还可以,接下来就是数据迁移工作了。

导出印象笔记数据

因为自己使用的是linux,所以网上找了一个教程,使用python第三方库完成整个数据的导出。

  1. 安装evernote-backup库
pip install evernote-backup

至于如何安装python和使用pip,自行搜索。
2. 初始化数据库

evernote-backup init-db --backend china

国内版本需要--backend china后缀。
按提示输入用户名和密码即可。
运行这个命令如遇到SSL错误,报错信息如下:

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)

在终端粘贴下面的命令:

ln -s /etc/ssl/* /Library/Frameworks/Python.framework/Versions/3.9/etc/openssl
  1. 下载笔记数据
evernote-backup sync

支持断点续传,如果笔记内容很多,可能需要很久,我的1000篇笔记下载了接近12小时。

  1. 导出enex文件
evernote-backup export output_dir/

导出到本地文件夹。

现在所有笔记文件都在这个文件夹里了。

使用工具将所有笔记导入只Notion

  1. 安装shell-retry库
pip install shell-retry
  1. 获取Notion token
    登录https://www.notion.so,右键检查元素,刷新页面,找到应用选项页里的token-v2,复制详细内容。

  1. 新建脚本
    touch process_enex_files.sh

脚本内容, 把上一步找到的token复制到脚本里:

#!/bin/bash
output_dir="./output_dir"
token="xxx-your token-xxxx"

# 遍历指定目录下的所有 .enex 文件
find "$output_dir" -type f -name "*.enex" -print0 | while IFS= read -r -d '' file; do
  # 提取文件名
  filename=$(basename "$file")
  echo "---"
  echo "$file"
  # 执行指定命令,重复3次,间隔5-30秒不等
  shell-retry --retry-count 1 --interval-max 10 --interval-min 3 -- enex2notion --token "$token" --retry 1 --skip-failed --done-file "done_$filename.txt" "$file"
  echo "---"
done

在其他人的基础上增加了retry 1 和skip-failed选项,避免一直重复尝试(遇到图片会失败),以及遇到失败跳过。

  1. 执行脚本

使用命令行执行脚本

bash process_enex_files.sh

我在执行的时候遇到SSL证书错误的问题,github上找到解决方案:
https://github.com/vzhd1701/enex2notion/issues/119
只需要在shell里执行:

export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt

然后再执行bash脚本,目前还在执行,持续更新。

posted @ 2025-03-12 10:45  Andy1126lin  阅读(308)  评论(0)    收藏  举报