吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 3255|回复: 74

[原创工具] 河北科技大学体温自动上报(python)-云函数版已更新

  [复制链接]
南岸 发表于 2020-7-31 17:59
本帖最后由 南岸 于 2020-8-6 12:30 编辑

考虑到封装软件的局限性,我将代码改成了云函数,封装的软件就不用了,这样更加方便,也省去了服务器的费用(腾讯云函数可以白嫖)


云函数运行截图如下:
QQ浏览器截图20200802221159.png


此次更新有两个版本,具体请见Gitee:

以下为云函数版本代码:
# -*- 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('<li class="mdui-list-item mdui-ripple" sid="(.*?)">', 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('<input type="hidden" name="stuId" value="(.*?)"/>', respond3.text)[0]
            # 获取qid
            qid = re.findall('<input type="hidden" name="qid" value="(.*?)"/>', 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")


云函数使用方法:
  • 登陆腾讯云,选择云函数,点击立即使用
QQ浏览器截图20200802222036.png

2.选择函数服务,新建
QQ浏览器截图20200802222245.png
3.进行配置,看图
QQ浏览器截图20200802222352.png
选择上传文件夹,代码打包下载请到gitee,直接下载仓库后将fucktiwen文件夹解压即可
QQ浏览器截图20200802223746.png
好,向下拉,点击这个高级设置,设置这两个东西
QQ浏览器截图20200802223042.png

欧克,点击完成


4.配置登录信息
QQ浏览器截图20200802223856.png

5.设置定时执行
QQ浏览器截图20200802224048.png
点击左侧触发管理,新建触发器
QQ浏览器截图20200802224129.png
Cron表达式
[Python] 纯文本查看 复制代码
0 */30 12-15 * * * * 


QQ浏览器截图20200802224258.png
点击提交就完成了,每天12-15点间,每30min执行一次


如果您觉得此项目有用,请给我一个star好嘛:lol

项目地址如下
Github:https://github.com/ne-21/fucktiwen
Gitee:https://gitee.com/ne_21/fucktiwen

免费评分

参与人数 5吾爱币 +11 热心值 +5 收起 理由
Melodious + 1 + 1 谢谢@Thanks!
52pojiewang52 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
dhyfy + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
闻经获益 + 1 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 南岸 发表于 2020-8-12 18:20
08.12增加Server酱微信推送,新源码请见gitee
cu29 发表于 2020-7-31 20:48
建议:
一、没服务器的,可以在手机上安装termux。
二、加入wxpusher(或其它类似的),定时提示,不然程序挂了,就……

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
南岸 + 1 + 1 我很赞同!

查看全部评分

 楼主| 南岸 发表于 2020-8-12 16:31
patients 发表于 2020-8-12 14:25
按照你的方法做好了!!但是我觉得对接一下wxpusher更好一些,可我自己搞不来,楼主可否帮下忙合作一下{:30 ...

你说的是接入下微信推送吗?我可以接入Server酱http://sc.ftqq.com/3.version
清辞 发表于 2020-7-31 18:07
楼主 可否麻烦写一个 河南科技大学的?  嘿嘿嘿嘿
 楼主| 南岸 发表于 2020-7-31 18:10
清辞 发表于 2020-7-31 18:07
楼主 可否麻烦写一个 河南科技大学的?  嘿嘿嘿嘿

没在家啊,回家再说吧,这个写出来两天了
qing2016 发表于 2020-7-31 18:14
清辞 发表于 2020-7-31 18:07
楼主 可否麻烦写一个 河南科技大学的?  嘿嘿嘿嘿

您好学弟哪个学院什么专业的
 楼主| 南岸 发表于 2020-7-31 18:15
qing2016 发表于 2020-7-31 18:14
您好学弟哪个学院什么专业的

认亲大会哈哈哈哈哈
zqq1993chn 发表于 2020-7-31 18:24
请问支持多大人数的数据记录及查询,办公用的话??
 楼主| 南岸 发表于 2020-7-31 18:28
zqq1993chn 发表于 2020-7-31 18:24
请问支持多大人数的数据记录及查询,办公用的话??

什么鬼?这是填报体温用的,不用自己每天去登录填体温
1hc4ptel 发表于 2020-7-31 18:56
请教一下  登陆系统的时候没验证码的嘛
 楼主| 南岸 发表于 2020-7-31 20:34
1hc4ptel 发表于 2020-7-31 18:56
请教一下  登陆系统的时候没验证码的嘛

河北科技大学是没有验证码的,有验证码也好解决,接入个超人打码就行了
清辞 发表于 2020-7-31 20:45
qing2016 发表于 2020-7-31 18:14
您好学弟哪个学院什么专业的

哈哈哈哈哈  18级信工的 学长您呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2020-8-14 15:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表