云端部署脚本-学校健康打卡
云服务器
选择一款适合自己的目标的服务器,做应用最好资源拉高一些
国内三大主流平台:腾讯云,阿里云,华为云
我的选择是下面这款轻量应用服务器 2核2G
系统选择
开发最好还是用Linux,平台我选择了Ubuntu,(Centos的命令yum实在太麻烦)
PS:如果只是要搭个博客还是阿里自制的Linux平台好,自带wordpress,能省下一堆时间
安装宝塔
Centos安装脚本
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
Ubuntu/Deepin安装脚本
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
安装好了会有用户名和密码,在云服务器控制台把8888端口打开
浏览器输入 服务器ip:8888,进入登陆界面
输入用户名密码就能进入宝塔控制界面了(需注册)
可以从文件方便的上传代码资料了
下面有个计划任务,shell默认地址是上图中的地址
需要运行的脚本,文件上传到/www/server/panel
可以定时运行
安装google
下载
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
打开安装包位置的终端,输入代码进行安装
sudo dpkg -i google-chrome*; sudo apt-get -f install
运行google需要打开9515,9222端口(上图)
定时脚本
查看版本(google-chrome可换其他软件)
google-chrome --version
安装chormedriver
要与chrome版本一致
下载:到这里下载合适版本
添加环境变量:上传文件到usr/bin并解压
shell定时
注意:ubuntu里python 和pip在命令行为2.x.x版本,运行脚本可用python3,pip3指定3.x.x版本
安装库:pip3 install xxx
定时运行
可在右下角执行后
查看日志观察是否有误
编辑更改设置
PS:可用于实现学校健康打卡、上班签到、每日爬虫爬取排行榜,图片、刷水军等一系列脚本
py打卡代码
from selenium import webdriver
from time import sleep
from lxml import etree
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
def clock_in(uname, passwd):
# 实现无可视化操作
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--no-sandbox")
bro = webdriver.Chrome(chrome_options=chrome_options)
bro.get('http://ids2.just.edu.cn/cas/login?service=http%3A%2F%2Fmy.just.edu.cn%2F')
print('信息门户加载完成')
username_btn = bro.find_element_by_id('username')
password_btn = bro.find_element_by_id('password')
username_btn.send_keys(uname)
password_btn.send_keys(passwd)
login_btn = bro.find_element_by_id('passbutton')
login_btn.click()
if '认证信息无效' in bro.page_source:
print('登录失败,账号密码可能错误')
else:
print('登录成功')
# 信息门户的bug,要返回上一页
bro.back()
# 开始点击打卡
daka_btn = bro.find_element(by=By.CLASS_NAME, value='stars')
daka_btn.click()
print('已进入打卡页面')
# 将旧url更新到打卡的url
sleep(3)
n = bro.window_handles # 获取当前浏览器所有窗口句柄
# print('当前句柄:', n)
bro.switch_to.window(n[-1]) # 切换到打卡窗口的句柄
# 体温数值填入
tw = bro.find_element_by_id('input_tw')
tw.send_keys('36.7')
zwtw = bro.find_element_by_id('input_zwtw')
zwtw.send_keys('36.4')
print('温度已填写')
# 提交
submit_btn = bro.find_element_by_id('post')
submit_btn.click()
str = uname + " 完成"
print(str)
sleep(3)
bro.quit()
if __name__ == '__main__':
np = open(r"NameAndPassword.txt",encoding='gb18030').read().splitlines()
# file_context是一个list,每行文本内容是list中的一个元素
for i in range(1,len(np)+1,2):
clock_in(np[i],np[i+1])
# 循环打卡
本文来自博客园,作者:InsiApple,转载请注明原文链接:https://www.cnblogs.com/InsiApple/p/15997306.html