IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 河北科大每日晨午检(体温)利用python+github actions每日自动填报 -> 正文阅读

[Python知识库]河北科大每日晨午检(体温)利用python+github actions每日自动填报

请先看此篇文章,讲的很清楚。GitHub Action自动完成华工疫情打卡、网站自动签到
看懂后,直接使用代码即可。
python代码:此代码参考自体温自动填写,修改而成

# coding=utf-8
import requests as r
from lxml import etree
import time
from time import sleep

a, b, c, d, e, f, z = '', '', '', '', '', '', ''
timetamp = time.mktime(time.localtime())
timetamp = int(timetamp)
y=''
url = "http://xscfw.hebust.edu.cn/survey/ajaxLogin"
url2 = "http://xscfw.hebust.edu.cn/survey/index"
url3 = f"http://xscfw.hebust.edu.cn/survey/surveySave?timestamp={timetamp}"


# 账号信息
param = {
    "stuNum": "",#此处输入学号
    "pwd": "",#此处输入密码
    "vcode": "",
}
#
header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.62"
}


try:
    response = r.post(url=url, params=param, headers=header)
    sleep(20)
    cookiesJAR = response.cookies  # 获取cookies
    cookies = cookiesJAR.get_dict()  # 把cookies写成字典形式
    res = r.get(url=url2, headers=header, cookies=cookies, params=param)
    b = "正在登录,即学校网页可以正常进入"

except:
    b = "登录失败,即学校网页无法进入"



# 获取完成情况
try:
    res.encoding = 'uft-8'
    html = etree.HTML(res.text)
    content = html.xpath('/html/body/ul/li[1]/div/span/text()')
    y=content[0]
    c = "获取填报表单成功,即登录成功"

except:
    c = "获取填报表单失败,即登录失败"



# 获取当前日期要填的文档的sid
try:
    url4 = 'http://xscfw.hebust.edu.cn/survey/index.action'
    rek = r.get(url=url4, cookies=cookies, headers=header)
    rek.encoding = 'utf-8'
    html3 = etree.HTML(rek.text)
    sid = html3.xpath('/html/body/ul/li[1]/@sid')[0]
    d = "获取当前日期要填的文档的sid成功"

except:
    d = "获取当前日期要填的文档的sid失败"


#####获取stuId和qid
try:
    url5 = f'http://xscfw.hebust.edu.cn/survey/surveyEdit?id={sid}'
    rej = r.get(url=url5, cookies=cookies, headers=header)
    sleep(5)
    rej.encoding = 'utf-8'
    html2 = etree.HTML(rej.text)
    stuId = html2.xpath('//*[@id="surveyForm"]/input[2]/@value')[0]
    qid = html2.xpath('//*[@id="surveyForm"]/input[3]/@value')[0]
    e = "获取stuId qid 成功"

except:
    e = "获取stuId qid 失败"


try:
    data = {
        "id": sid,
        "stuId": stuId,
        "qid": qid,
        "location": '',
        "c0": "不超过37.3℃,正常",
        "c1": '36.5',
        "c3": "不超过37.3℃,正常",
        "c4": '36.5',
        "c6": "健康",
    }
    f = "获取信息成功"


except:
    f = "获取信息有误"


if y == '已完成':
    z = '早已完成填报,无需填报'


elif y == '未完成':
    try:
        timetamp = time.mktime(time.localtime())
        timetamp = int(timetamp)
        rep = r.post(url=url3, params=data, headers=header, cookies=cookies)
        a = "填报成功"
    except:
        a = "填报出错"



else:
    z = "填写时间未到,或填写失败"

file = open("mydata.html", 'w+', encoding='UTF-8')
file.write(b + '*****' + c + '*****' + d + '*****' + e + '*****' + f + '*****' + z + '*****' + a)
file.close()

yml代码:

name: tiwentianbao

on:
  workflow_dispatch: #在actions界面点击即可运行
  schedule:
    - cron: '10 2,3 * * *'  
  #在UTC时间2:10,3:10运行,也就是北京时间10点10分和11点10分
jobs:
  build:

    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
    - run:  pip install -r ./r.txt  #此处为安装依赖包
    - run: python ./python.py  #此处为python代码的文件名
   #发送邮件,可选
    - name: 'Send mail' 
      uses: dawidd6/action-send-mail@master
      with:
          # 这些是发送邮件需要配置的参数,更多详细的说明请访问具体的仓库
        server_address: smtp.163.com
        server_port: 465
          # 这些sectret的环境变量需要配置在setting中的secret下
        username: ${{ secrets.EMAILNAME }}  #变量名需与配置的一致
        password: ${{ secrets.EMAILPOP }}
        subject: 每日体温填报
        body: file://mydata.html
        to: 0000000@qq.com   #填写要收件邮箱名
        from: GitHub Actions
        content_type: text/html
        

依赖库txt文件:

requests
lxml

邮件效果:
邮件效果

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:19:48  更:2021-08-21 15:22:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 11:44:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计