上海二工大 - 健康日报AutoCheck

这篇博客介绍了如何使用Python的Selenium库编写一个自动签到的脚本,适用于上海第二工业大学的健康日报系统。脚本包括反爬策略、后台无头运行、账号登录、签到流程以及程序打包成EXE文件,并在Windows 10系统中设置定时运行。通过这个自动化脚本,可以避免手动签到的麻烦,提高效率。
摘要由CSDN通过智能技术生成

前言

项目是基于 今天下午被班长打电话 被告知了《论早晨签到重要性与不签会被处分的可能性》后 仔细思索一番 。。。 然后发现比起依赖自己那和鲸鱼一样的记忆力。。不如还是直接依赖电脑算了。。。所以就写了这个爬虫。。。





步骤:

· 准备相关模块
· python脚本编写
· Python程序 EXE执行文件 包装
· Win10 系统下 按时间自动运行脚本代码





准备:

  1. Python
  2. selenium模块
  3. chromedriver(对应你自己的谷歌游览器的版本,可以使用镜像网站下载)




脚本编写:


导入相关模块:

导入相关模块,建立模拟游览器,我用的是Chrome,也可以使用其他游览器:

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import selenium.webdriver

反爬:

<!-- 反自动脚本检测 -->
opt = Options()
opt.add_experimental_option('excludeSwitches', ['enable-automation'])
driver = selenium.webdriver.Chrome(options=opt)

后台自动运行:

opt.add_argument('--headless')
opt.add_argument('disbale-gpu')

打开校园网:

url = "https://hsm.sspu.edu.cn/"
driver.get(url)
time.sleep(2)

签到:

driver.find_element_by_id("username").send_keys("你的账号")
driver.find_element_by_id("password").send_keys("你的密码")
driver.find_element_by_class_name("submit_button").click()
time.sleep(1)
driver.find_element_by_class_name("icos").click()
driver.find_element_by_id("fineui_2-inputEl-icon").click()
driver.find_element_by_id("p1_TiWen-inputEl").send_keys("36")
driver.find_element_by_class_name("f-field-checkbox-switch").click()
time.sleep(2)
driver.find_element_by_class_name("f-btn-text").click()

自动退出游览器

time.sleep(3)
driver.quit()




Python程序 EXE 包装:


pip3 安装 pyinstaller

<!-- 使用cmd命令台 -->
pip3 install pyinstaller

pyinstaller 包装 python脚本

<!-- 使用cmd命令切换到当前路径下 -->
<!-- 然后执行指令(下面的xxxx写你自己程序的名字)-->
pyinstaller  xxxx.py
<!-- 然后在该目录下./dist/xxxx/xxxx.exe出现exe文件 -->




Win10 系统下 按时间自动运行脚本代码:

  1. 打开 控制面板\系统和安全\管理工具\任务计划程序
  2. 创建基本任务(在右边那栏里头):名称描述你自己随便写
  3. 然后签到时间为 每天 (反正我们这边是每天都要签到的)
  4. 每日:开始时间 就是 开始时间
  5. 操作:启动程序
  6. 将程序与脚本 牵引至 之前你所包装的python exe执行文件上
  7. 点击完成
  8. 重复设立 多个执行任务 (防止某一次卡机 爬虫程序失败)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Panzer_Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值