GiteePages自动部署
说明之前部署vuepress的博客时,github的访问速度太慢,目前我的域名还没有备案成功,还不能配置cdn加速。我就又在gitee pages上部署了一份,但是我在更新文章时发现,gitee pages不能自动更新。就是说每次上传一篇新的文章,都要重新更新一下gitee pages服务。刚好之前有了解过python的自动化,就想着自动化脚本,百度一搜还真有类似的文章。本文代码根据Closers
说明
之前部署vuepress的博客时,github的访问速度太慢,目前我的域名还没有备案成功,还不能配置cdn加速。
我就又在gitee pages上部署了一份,但是我在更新文章时发现,gitee pages不能自动更新。就是说每次上传一篇新的文章,都要重新更新一下gitee pages服务。
刚好之前有了解过python的自动化,就想着自动化脚本,百度一搜还真有类似的文章。
本文代码根据Closers的文章中的代码改写
1、基础环境
python3 + selenium + chromedrive.exe。
2、源码
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
# 模拟浏览器打开到gitee登录界面
driver = webdriver.Chrome()
driver.get('https://gitee.com/login')
# 将窗口最大化
driver.maximize_window("chromedriver.exe")
time.sleep(2)
# 输入账号--通过html的id属性定位输入位置--改为你的账号
user_login = driver.find_element_by_id('user_login')
user_login.send_keys("此处改为你的账号")
# 输入密码--通过html的id属性定位输入位置--改为你的密码
driver.find_element_by_id('user_password').send_keys("此处改为你的密码")
# 点击登录按钮--通过xpath确定点击位置
driver.find_element_by_xpath(
'/html/body/div[2]/div[2]/div[1]/div/div[2]/div/form[1]/div[2]/div/div/div[4]/input').click()
time.sleep(2)
# 切换到gitee pages界面--改为you_gitee_id
driver.get('https://gitee.com/此处改为you_gitee_id/此处改为you_gitee_id/pages')
# 点击更新按钮--通过xpath确定点击位置
driver.find_element_by_xpath('//*[@id="pages-branch"]/div[7]').click()
# 确认更新提示框--这个函数的作用是确认提示框
Alert(driver).accept()
# 等待5秒更新
time.sleep(5)
# 这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("成功")
# 脚本运行成功,退出浏览器
driver.quit()
# 写上更新日志
# 我这里是写在D盘,可以改为自己喜欢的目录
fp = open("D:\log.txt", "a+")
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
fp.write("部署时间:{0}\n".format(now_time))
fp.close()
到这里基本都是那位老哥的源码,我只是又修改了一下xpath。
光有源码还不行,现在我们运行的话会报错。我们需要下载一个chromedriver.exe,放在
python.exe文件所在目录的Scripts文件夹下
下载chromedriver.exe可以通过淘宝的镜像网站下载(官网需要科学上网)
运行.py文件
那么每次新发布文章不也要运行这个py文件吗,虽说简化了操作,但也是换汤不换药。
3、宝塔脚本执行
那么我们需要借助宝塔来实现自动化脚本,这需要你有一个云服务器,没有服务器的小伙伴往下看,有别的方法。将.py文件和"chromedriver.exe"文件一起上传到服务器的目录下
保存任务,每天1:30自动执行
4、无服务器无python环境
考虑到有些小伙伴可能没有python的环境,也没有自己的服务器。我就把这个程序封装成了一个exe文件。在我的github中可以获取
配置需要写在gitee.txt文件中
以行分隔
然后运行exe文件
虽然有些脱裤子放屁的意味,但也算是简化了一点操作吧
更多推荐
所有评论(0)