Laozeng's Blog

A man is not old until regrets take the place of dreams.

锤子便签批量导出markdown文件,实现每天自动备份到本地

laozeng's Avatar 2024-02-01 教程

  1. 1. 介绍
  2. 2. 使用方法
  3. 3. 进阶:每天自动备份

介绍

用了好年的锤子便签,竟然没有批量导出或者备份本地的功能。于是,只能自己想办法解决,通过程序完成自动导出为markdown格式的文件。

项目地址:https://github.com/laozeng1024/Smartisan-notes

基于Smartisan-notes-downloader项目,并做了一些优化:

  • 解决目录/文件名过长,程序异常终止。如便签没有标题,默认会把长长的内容当文件名,导致执行错误。
  • 解决自动化登陆。程序中提前填入自己的用户名及密码,可在chrome模拟登陆,以便实现定期自动(配合任务计划程序或crontab)功能。

使用方法

    1. 安装 Python3 (略)
    1. 安装 Chrome(略)
    1. 下载ChromeDriver

以下以Windows系统为例

    1. 安装依赖: pip install -r requirements.txt
    1. 修改main.py文件19-20行,替换为自己的信息,即欢喜云登陆的邮箱和密码。
      账号信息
    1. 运行程序:python main.py
    1. 备份的标签在downloads目录,每个便签独立文件夹。

最终导出效果:
效果

进阶:每天自动备份

通过Windows的任务计划程序来实现每天自动备份锤子便签到本地,这样就再也不用担心数据丢失,即使欢喜云倒闭了也不影响。

开始菜单搜索:任务计划程序
任务计划程序

创建基本任务
任务计划程序

任务触发器设置为每天:
任务计划程序

设置每天运行的时间:
任务计划程序

操作中选择:启动程序
任务计划程序

关键在这里设置脚本auto.bat
任务计划程序

将以下代码保存问auto.bat

1
2
3
4
5
6
7
8
9
10
11
set PROJECT_PATH=D:\Smartisan-notes
set PYTHON_EXE_PATH=D:\Smartisan-notes\venv\Scripts\python.exe
set SCRIPT_PATH=D:\Smartisan-notes\main.py

set CHROMEDRIVER_PROCESS=chromedriver.exe
set LOG_FILE=%PROJECT_PATH%\log.txt

taskkill /F /IM %CHROMEDRIVER_PROCESS%

cd /d %PROJECT_PATH%
%PYTHON_EXE_PATH% %SCRIPT_PATH% 2> %LOG_FILE%

其中,需要将三个参数换成自己实际的:

PROJECT_PATH: 为项目路径
PYTHON_EXE_PATH: 为Python.exe路径
SCRIPT_PATH: 为main.py路径

任务计划程序

完成后双击任务,修改只有用户登录时运行(因为要UI交互,后台运行报错)。

任务计划程序

好了,至此,可以每天自动备份,备份数据在当前目录downloads文件夹。

This article was last updated on days ago, and the information described in the article may have changed.