利用python实现Gitee Pages定时自动部署/自动签到
本文最后更新于:2020年3月12日 晚上
一: 前期准备
1.1 基础环境
- python3 + selenium + chrome浏览器。
如果有不懂的可以查阅selenium-python中文文档 - chrome->设置->关于chrome->查看版本(我的版本是 80.0.3987.106(正式版本) (64 位))。
- 需要下载跟你的chrome版本一致的ChromeDriver可执行驱动
下载完解压放在python根目录(即跟python.exe放在一起)。
如果上面的ChromeDriver网址打不开,可以使用ChromeDriver淘宝镜像 - 最好有一台云主机,没有的话需要自己的电脑设定定时开机,定时任务,定时关机。
1.2 安装环境
- 安装python3,不懂的请查阅我的相关blog文。
- 打开windows命令行,安装selenium
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
1.3 获取cookie
首先登录gitee的Gitee Pages服务界面;
点击网页地址栏左边的小锁标志 -> 选择Cookie;
右边弹出的窗口中展开gitee.com -> 展开Cookie -> 点击名为gitee-session-n
的项目 -> 下面的内容后面就是你的cookie;
记得要全部复制进去,替换掉下面源码的my_cookie里面的内容。
二: 代码
2.1 源码
1 |
|
把源码黏贴到gitee.py
文件内,备用。
2.2 注意事项
html的id属性、xpath可以通过在chrome的网页里面按F12 -> 选择一个元素进行检查(快捷键Ctrl + Shift + C)查看,如图就是
百度一下
的div块元素属性。python selenium模块的具体函数使用方法请参考官方文档。
编写自动签到脚本也差不多同样的道理。
三: 添加定时任务自动部署
3.1 Windows主机
- 登录windows云主机,复制
gitee.py
到D盘根目录。 - 云主机内->右键我的电脑->管理->工具->任务计划程序->创建基本任务…添加任务每天执行一次,实在不会的请百度
- 在自己电脑上的话也可以设置定时开关机,并把如下代码添加到hexo一键上传部署脚本的后面,每次定时git push后自动在gitee的pages界面部署。
1 |
|
3.2 Linux主机
- 登录Linux云主机,复制
gitee.py
到/home/temp/
目录。 - 添加Linux计划任务
crontab -e
- 选择1选项nano编辑,光标拉到最后面,复制如下代码;
10 6 * * * /home/temp/gitee.py start
说明:
- crontab表达式在线生成
- 延迟0~1小时的话,直接在py或者sh文件中利用sleep及random命令设置。
crontab -l
查看当前已经保存的计划任务。
四: 参考文献
- https://python-selenium-zh.readthedocs.io/zh_CN/latest/
- https://blog.csdn.net/ydydyd00/article/details/80882183
- https://jingyan.baidu.com/article/154b463130041128ca8f41c7.html
- https://jupitersh.gitee.io/2020/02/Preparation-for-Gitee-Auto-Update-by-Ptyhon/
enjoy!
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!