校园打卡,方便师生日常生活

一、下载Fiddler

点击下载

二、配置Fiddler

打开该工具 ,点击工具栏中的 Tools → Options
选择第二个Https,把下面这个打对勾。
在这里插入图片描述

然后点击右边Actions,选择第二个,然后点击ok.
在这里插入图片描述

三、获取相应信息

1、首先在电脑上面登录微信,进入我的校园打卡

2、然后在Fiddler里面找到下面这个。

在这里插入图片描述

3、复制里面的标红的内容,后面要用到

在这里插入图片描述

4、获取要打卡地方的位置

可以通过该网站进行获取:https://map.jiqrxx.com/jingweidu/

四、打卡代码

import requests
import datetime

class form:
    # 初始化表单
    def __init__(self):
        self.api = "https://student.wozaixiaoyuan.com/heat/save.json"
        # 请求头
        self.headers = {
            "Host": "student.wozaixiaoyuan.com",
            "Content-Type": "application/x-www-form-urlencoded",
            "Accept-Encoding": "gzip, deflate, br",
            "Connection": "keep-alive",
            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/53.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat",
        # 修改1:User-Agent 访问的设备
            "Referer": "https://servicewechat.com/wxce6d08f781975d91/182/page-frame.html",  # 修改2:Referer
            "Content-Length": "360",
            "JWSESSION": "",  # 修改3:JWSESSION 写为自己的
        }

        self.data = {
            "answers": '["0","2"]', # 第一个 0 代表健康状况 第一个 没有下列情况,身体健康  第二个 0  代表核酸检测时间 为 2的话 代表是超过一周
            "seq": elf.get_seq(),,    # 早上是 1 下午是 2
            "temperature": 36.3, # 温度
            # 修改8:打卡地址
            "longitude": "107.917088",  # 经度
            "latitude": "34.383132",  # 纬度
            "country": "中国",
            "province": "陕西省",
            "city": "宝鸡市",
            "district": "扶风县",
        }
        
	# seq的1,2代表早,晚
    def get_seq(self):
        current_hour = datetime.datetime.now().hour
        print(current_hour)
        # @Author  : Dominic.
        if 0 < current_hour < 12:
            return "1"
        elif 12 <= current_hour < 18:
            return "2"
        else:
            return 1
            
    def run(self):
    	# 打印当前时间
        print(datetime.datetime.now())
        # 接受返回值
        ret = requests.post(self.api, headers=self.headers, data=self.data, ).json()  # 打卡提交
        if ret['code'] == 0:			# 打卡成功
            print("clock in success!")  
        elif ret['code'] == 1:          # 打卡结束
            print("clock in end")
        else:							# 打卡失败
            print("error")
if __name__ == "__main__":
    form().run()

我们学校的话,提交表单的格式为这些内容:
在这里插入图片描述
如果不一样,可以对提交数据进行修改。

五、部署在阿里云服务器(定时执行)

1、通过FileZilla 把该python代码上传到自己的服务器。

2、通过Xshell连接服务器,在命令行输入:

crontab -e  # 定时执行代码 

3、进入到添加定时任务界面,添加语句:

0 813 * * * python3  /usr/schoolcard/demo.py

在这里插入图片描述

这句话的意思是每天的八点和十三点运行一次demo.py文件。

4、查看是否定时执行

crontab -l  # 查看所有的定时执行的任务

在这里插入图片描述
至此,所有工作完成。

六 可以直接下载

链接:下载自动打卡python程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CPanMirai

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

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

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

打赏作者

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

抵扣说明:

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

余额充值