python自动报体温_河北科技大学体温自动上报(python)-云函数版已更新

# -*- coding: utf-8 -*-

"""

@Time : 2020/8/6 11:59

@Auth : Ne_21

@File :index.py

@IDE :PyCharm

@Motto:Another me.

河北科技大学体温提交云函数版

"""

import requests

import re

import time

import json

from random import randint

class HEBUST_temperature(object):

# 初始化

def __init__(self):

self.stuNum = ''

self.pwd = ''

self.s = requests.Session()

# 13位时间戳

def get_13_timestamp(self):

timestamp1 = time.time()

return int(round(timestamp1) * 1000)

# 登陆并获取cookies

def get_cookies(self):

data = {

'stuNum': self.stuNum,

'pwd': self.pwd,

}

print('用户:' + str(self.stuNum))

# 登陆

respond1 = self.s.post("http://xscfw.hebust.edu.cn/survey/ajaxLogin", data=data)

a = respond1.json()

if a.get("data") == True:

print("登陆成功,请等待")

else:

print("登陆失败,请检查账号和密码")

# 获取表格数据

def get_ids(self):

# 获取表格id

respond2 = self.s.get("http://xscfw.hebust.edu.cn/survey/index")

try:

get_sid = re.findall('

', respond2.text)[0]

url = 'http://xscfw.hebust.edu.cn/survey/surveyEdit?id=' + get_sid

respond3 = self.s.get(url)

# print(respond3.text)

# 获取stuId

stuId = re.findall('', respond3.text)[0]

# 获取qid

qid = re.findall('', respond3.text)[0]

# 表格信息

# 以下两种表格方式二选一

#     # 第一种

#

#         #``````

#         #本地正则获取数据↓

#         #``````

#

#         data = re.findall('var formJson = (.*?);', respond3.text)[0]

#         data = json.loads(data)

#         # 生成随机体温

#         def sjtw():

#             return str(randint(362, 370) / 10)

#         c3 = sjtw()

#         c6 = sjtw()

#         if c3 >= c6:

#             b = c6

#             c6 = c3

#             c3 = b

#         else:

#             pass

#         # 构造数据列表

#         formdata = [(data[0].get('options'))[0].get('value'), (data[2].get('options'))[0].get('value'), c3, (data[5].get('options'))[0].get('value'), c6, (data[8].get('options'))[0].get('value')]

#         # 构造表格信息

#         form = {

#             'id': get_sid,

#             'stuId': stuId,

#             'qid': qid,

#             'location': '',

#             'c0': formdata[0],

#             'c2': formdata[1],

#             'c3': formdata[2],  # 早上体温

#             'c5': formdata[3],

#             'c6': formdata[4],  # 中午体温

#             'c8': formdata[5],

#         }

#     #第一种结束

# 第二种

# `````

# 通过服务器获取数据(推荐)↓

# `````

apiurl = 'http://netease.gocos.cn/twform/index.php?id=' + str(get_sid) + '&stuId=' + str(stuId) + '&qid=' + str(qid)

respond4 = self.s.get(apiurl)

form = respond4.json()

# 第二种结束

return form

except IndexError:

print("今日体温上报暂未发放,请一会再试")

return False

# 上传数据

def updata(self, form):

# 时间戳

timestamp = self.get_13_timestamp()

# 上报

posturl = 'http://xscfw.hebust.edu.cn/survey/surveySave?timestamp=' + str(timestamp)

respond5 = self.s.post(url=posturl, data=form)

print('响应码:' + str(respond5.status_code) + '\n体温提交完成!')

# 主函数

def main(self, stuNum, pwd):

self.stuNum = stuNum

self.pwd = pwd

self.get_cookies()

listdata = self.get_ids()

if listdata == False:

print('失败,请等待下一次重试')

return ('false')

else:

self.updata(listdata)

print('成功')

return ('success')

# 云函数入口

def main_handler(event, context):

# 登录信息

stuNum = "" # 登陆账号

pwd = "" # 登陆密码

run = HEBUST_temperature()

run.main(stuNum, pwd)

return ("Status:success")

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值