我的爱发电主页:
爱发电delta1037
功能:
- 将指定的notion页面和子页面备份为本地的markdown文件。
- 子页面递归下载
- 图片下载和本地链接重定位
注意:
- 备份的内容不能恢复到Notion中(这是另外的价钱,可以做但没必要)
- 离线目录可以自由编辑(Typora可以打开目录;Obsidian也可以打开,但是表格里的某些富文本无法渲染)
- 数据库备份为csv格式时,使用Excel打开会乱码,参考解决Excel打开UTF-8编码CSV文件乱码的问题解决
- 备份的内容中图片和文件的命名优先级:Caption > (文件名称:图片没有解析名称) > id
- 空页面不会备份
一些可参考链接:(教程:B站delta1037;源码:Github delta1037;QQ交流群:917606741)
一、版本介绍二、使用说明2.0 Token2.1、配置2.2.1 字段解释2.2.2 多页面要配置参数数据库2.2.3 视频参考2.3、运行2.4、输出说明三、自行打包3.1 下载源代码3.2 配置环境3.3 打包四、项目结构五、附录5.1 概述5.2 开发进度
一、版本介绍
目前的备份版本有以下两个类型:
其中
gui版本是图形界面版本,terminal版本是命令窗版本这两种的区别是:
- 图形界面版本打开(运行)是一个图形界面,点击开始就可以备份
- 命令窗版本打开(运行)就可以备份
由于命令窗版本启动后就可以开始备份,所以该版本可以配置自动化备份(填写一个Window的定时任务配置即可)
怎么选择:
- 图形界面:
- 有简单的图形界面
- 命令窗界面:
- 可以配置定时运行,无需干预
二、使用说明
2.0 Token
- token创建
- 添加token
注意:当前添加token的位置在页面右上角三个点里的connection块里


2.1、配置
填写配置:配置文件名称是
config.json,配置文件样例和字段含义说明如下:Q:同一个Notion账户为什么需要备份多个页面?
A:
1、该备份工具使用Notion官方API获取页面数据,官方API对调用速率有要求,所以一次备份的页面量最好不要太多(太多的话目前也没遇到问题),可以对页面拆分备份,一次只备份其中有更新的一部分
2、大部分时候主页里的一些页面不会继续更新也就不需要重新备份,所以可以对主页里面的页面进行拆分,单独进行备份
2.2.1 字段解释
注意:其中以
*开头的参数是必填项(粉红色背景),以-开头的参数是选填项(蓝色背景),其它可了解- *backup_type:选择备份类型(单页面或者多页面,接下来只配置多页面或者单页面的部分就可以,不需要全都填写)
单页面备份的配置字段:
- *backup_token:notion官方API token(该token只需要读权限即可,获取方式参考备份教程视频)
- *page_id:需要备份的notion页面(注意token需要在该页面有读权限)
- -page_type:备份的页面类型(page/database,取决于你的page_id是从page的链接里拷贝出来的,还是从database的链接里拷贝出来的)
- -dump_path:备份的位置(基于当前程序位置,相对路径)
- export_child_page:是否导出子页面(true/false,true的意思是导出所有的子页面,包括链接到的页面(链接到的页面有读权限即可导出);false表示只有page_id对应的页面导出,另外对于其中的图片或者文件是否导出会有不可控的结果)
- page_parser_type:页面解析类型(md/plain:md是markdown格式,plain是纯文本格式,page默认是markdown,填错时会选择默认值并且不提示)
- db_parser_type:数据库解析类型(md/plain:md是markdown格式,plain是纯文本格式,database默认是plain,填错时会选择默认值并且不提示)
- db_insert_type:数据库嵌入类型(content/link,content是将数据库作为内容嵌入到原始位置,link是将数据库作为链接嵌入到原始位置)
多页面备份的配置字段:
- *backup_token:导出页面需要invite此token(该token只需要读权限即可,获取方式参考备份教程视频)
- *backup_info_token:参数配置和备份日志页面需要invite此token(该token需要读写修改权限,谨慎invite)
- *backup_list_id:导出页面参数数据库的id(包含了所有需要备份页面的参数,参数解释见
单页面备份的配置字段,基本一致,可以任意新增字段,但是修改现有的字段名需要和backup_list_map中的映射表同步修改)
- *backup_log_id:备份日志数据库的id(包含了备份的历史记录,不需要人为修改)
- backup_list_map:导出页面参数数据库字段映射表(如果是直接duplicate的多页面备份模板,未修改数据库字段则不需要修改)
- backup_log_map:备份日志数据库字段映射表(如果是直接duplicate的多页面备份模板,未修改数据库字段则不需要修改)
- auto_check_off:备份后是否自动勾掉备份页面上选择备份的内容(true是自动勾掉,false是不勾掉)
注意:
1、这两类(多页面和单页面备份)都需要填写好必填的配置
2、单页面备份和多页面备份在重新运行时,都会覆盖同一个备份目录(即如果需要对备份到本地的文件改动,请异动到别的位置,或者修改备份的位置)
3、单页面备份的页面参数在配置文件中;多页面备份需要备份的页面参数在Notion数据库中,需要备份的页面需要手动勾选
其它字段:(没啥好想法就不要动)
- use_buffer:是否启用缓存
- debug:开启调试(出现无法复现的错误时可以使用,非专业人士勿开启,产生日志会占用大量磁盘空间)
- auto_close: 备份完成后自动关闭(在配置定时任务时,如果不需要查看终端的结果,就让它自动关了吧;该配置在图形界面版本无效)
- page_properties:Page的属性是否导出(对于数据库中的page导出时,如果选择属性导出,在开头会显示一个表格)
- datetime_formate:导出的日期时间格式
- date_formate:导出的日期格式
- file_with_link:外部链接是否尝试下载对应的内容(false表示下载外部链接内容;true表示不下载外部链接内容)
- color_theme:导出字体、背景(文字背景和数据库标签背景)颜色样式(可选default、light、dark、markdown、self_define,其中markdown是对所有的颜色使用高亮渲染
==text==;self_define是自定义颜色,需要同步修改your_color_theme字段)
- your_color_theme:主题配置块(f开头的是字体颜色,b开头的是文字背景颜色,d开头的是数据库标签背景颜色)
- backup_root_path:备份路径(可填绝对路径或者留空,留空表示使用当前软件目录)
2.2.2 多页面要配置参数数据库
对于多页面的备份,备份参数的来源是notion中的一个Database,示例和模板如下(选中文版本):

模板使用注意:
1、可随意新增字段/列(不与现有的字段(列)名冲突即可)
2、修改数据库中的字段(列)名,配置中的
backup_list_map或者backup_log_map这两个字段(列)映射表需要同步修改2.2.3 视频参考
注意上述的配置是将单页面和多页面综合起来的(之前是分离的,视频也是分离时录制的),但是配置过程基本不变(除了token的名称有变化)
当你的单页面或者多页面运用的熟练之后(手动点击可以正常运行,即配置填写的没有问题),就可以选择是否进行定时自动备份了,下面是一份定时备份配置的教程:
2.3、运行
- 你如果拿到的是一个exe可执行文件(QQ群917606741内的
Notion备份文件夹),那么在配置完成之后点击即可开始运行了。
- 你也可以下载源代码使用pyinstaller打包一个点击即运行的exe(或者其它平台);或者直接在终端里运行脚本(
py notion_backup_terminal.py)(见三、自行打包)
备注:
1、如果你在
dump.log中发现以[ISSUE]开头的日志,可以在此项目中提交issue(或者向QQ群917606741告知),并向Email:geniusrabbit@qq.com发送客户端目录下的dump.log,注意删除其中的token部分
2、如果你发现备份下来的页面有内容丢失或者错误的问题,可以在此项目中提交issue(或者向QQ群917606741告知)2.4、输出说明
备份位置下的结构为:
该目录可以直接用
Typora打开,或者用Obsidian打开。三、自行打包
群内的文件夹更新的都是exe(Window系统适用),如果有朋友需要在MacOS上运行,可以自行按照如下的步骤进行打包。
小白谨慎操作!!
3.1 下载源代码
源代码链接如下:
notion-export-client
delta1037 • Updated Apr 21, 2026
可以打包的几个文件:(在下载的文件夹的根目录里)
这两个文件分别对应了上面两个版本(图形界面版本和命令行界面版本)
3.2 配置环境
1、检查python环境:(有就行,最好3.7以上)
2、环境管理适用
virtualenv工具,安装环境工具:3、使用虚拟环境
4、安装必要的包(环境激活的状态下)
3.3 打包
对于上面每一个可以打包的文件,在开头都有类似如下的一段代码:
其中的打包代码部分,就是打包的指令。对于上述的实例,打包代码就是
pyinstaller -F -c -i notion-dump.ico notion_backup_terminal.py -p api/notion_dump.py -p api/notion_dump_api.py -p api/backup_info.py,配置好代码运行环境之后,在终端里运行这段代码后即可。当运行完成之后,dist文件夹里就是点击即可运行的软件了~
四、项目结构
- api/backup_info.py: 备份页面清单管理(修改清单备份状态,自动新增备份历史记录)
- api/notion_dump_api.py: 对
notion-dump-kernel下载的文件重新组合位置并对文件中的链接(子页面、图片、文件)之类的重新定位
- api/notion_dump.py:选择多页面或者单页面备份
- notion_backup_terminal.py:命令行黑窗版本
- notion_backup_gui.py:一个极其简单的图形界面版本(点击开始即可运行)
五、附录
5.1 概述
支持的块类型5.2 开发进度
页面中的块:
emble
video
数据库中的属性:
数据库中的Page新增头部表格
数据库新增relation字段
数据库新增rollup字段
数据库新增函数字段







