本程序所有操作均基于百度网盘web端API操作
- 由于程序使用到了
selenium
技术,所以需要系统安装Chrome浏览器,同时项目根目录中的chromedriver
文件需要与Chrome版本对应,可以在官方网站或阿里云镜像下载 - 安装有
python3
环境,作者使用的python3.9环境 - 会看本文档
- 把本项目拉到本地
- 安装对应版本的chromedriver
- 本项目使用的是macOS版Chrome 109.0.5414.87适配的chromedriver
- 安装相关库
pip install -r requirements.txt
- 设置通知
- 修改位置为config.json
- 邮箱密码是在对应邮箱设置里申请的授权码
- 运行
main.py
# 有些人可能是python3 main.py python main.py
- 根据命令行中的提示进行选择(主要懒得再做个页面)
- 第一次登录时如果扫不了控制台的二维码就去扫保存到本地的二维码图片
- 默认地址在
/temp/login.png
config.json
里的qrCodeImagePath
可以改默认保存地址
- 默认地址在
- 设置好后可以使用下面的命令直接执行同步方法,不显示操作菜单
python -c "from main import shellSync;shellSync()"
- 使用此命令可以方便的设置crontab,iOS快捷指令的SSH模块等方式进行操作
-
ssh连接树莓派
-
把项目放到本地(也可以直接用ftp, smb, sftp等方式直接复制过去)
git clone https://gitee.com/tippy_q/du-pan-sync.git
-
配置树莓派selenium环境
-
下载安装包, 作者这里使用的是
90.0.4430.72
版本,可以到Launchpad.net查找下载其他版本,需要注意这三个版本号一定要一致# 下载chromium-browser wget 'http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-browser_90.0.4430.72-0ubuntu0.16.04.1_arm64.deb' # 下载chromium-codecs-ffmpeg-extra wget 'http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-codecs-ffmpeg-extra_90.0.4630.72-0ubuntu0.16.04.1_arm64.deb' # 下载chromium-chromedriver wget 'http://ports.ubuntu.com/pool/universe/c/chromium-browser/chromium-chromedriver_90.0.4430.72-0ubuntu0.16.04.1_arm64.deb'
-
安装,顺序是
chromium-codecs-ffmpeg-extra
–>chromium-browser
->chromium-chromedriver
# chromium-codecs-ffmpeg-extra sudo dpkg -i chromium-codecs-ffmpeg-extra_90.0.4430.72-0ubuntu0.16.04.1_arm64.deb # chromium-browser sudo dpkg -i chromium-browser_90.0.4430.72-0ubuntu0.16.04.1_arm64.deb # chromium-chromedriver sudo dpkg -i chromium-chromedriver_90.0.4430.72-0ubuntu0.16.04.1_arm64.deb
-
更新
apt
包管理器,可以忽略这步,我更新时树莓派卡死就直接跳过了sudo apt update sudo apt upgrade
-
验证,只要出来版本号了就算成功了
# 查看chromedriver版本 chromedriver -v # 查看chromium版本 chromium-browser -version
-
树莓派selenium教程参考树莓派安装高版本Chromium和Chromedriver
-
-
进入项目文件夹
cd du-pan-sync
-
安装python包
pip install -r requirements.txt
-
执行程序
python main.py
-
如果需要直接执行更新命令或者设置
crontab
可以使用下面的命令cd
后面的路径是自己项目存放的路径
cd /home/pi/du-pan-sync && python -c "from main import shellSync;shellSync()"
-
如果出现报错是
Permission denied
开头的,请给项目文件夹下所有文件权限,最后面是项目路径sudo chmod -R 777 ./du-pan-sync
- 部署好项目确保可以运行
- 编辑
crontab
定时任务列表crontab -e
- 在文件最下面添加一行
# min hour day mon year command 10 8-22 * * * cd /home/pi/du-pan-sync && python -c "from main import shellSync;shellSync()"
- 关闭
crontab
- 按
Ctrl
+X
- 根据提示按
Y
和回车键
- 按
- 可以通过
logs
文件夹下的log文件判断有没有执行
百度定时任务使用方法
- 同步(现在只能设置同步的目录,设置时会自动保存一次)
- 定时任务自动执行
- 新文件同步提醒
- iOS快捷指令(或许会做)
- 关于订阅功能
- 由于没有可视化界面不太方便在UI上控制订阅列表,所以只能手动编辑sub.json文件,
notice
内容写法同config.json的notice
path
的内容与sync.json中的path
对应,不过可以用正则表达式,要确保正则匹配时可以在开头匹配到
- 由于没有可视化界面不太方便在UI上控制订阅列表,所以只能手动编辑sub.json文件,
- 关于邮箱通知
- 发送邮箱始终使用config.json中的内容,如果config.json的
email
的enable
为false
,订阅中的邮箱通知也不会生效 - 发送邮箱的密码不是登录密码,需要去对应邮箱的控制台生成授权码,smtp使用方法
- 发送邮箱始终使用config.json中的内容,如果config.json的
实测同步考研的5门课程总共请求了2266次百度接口
程序占用内存(不开启http缓存的情况下)约60Mb
运行的12分钟左右