九月资源网-不以盈利为目的,仅仅为个人学习、研究或者欣赏。若未注明来源,请联系添加。如果侵犯到您的版权,请联系删除相关文章。

利用Python做到超星学习通图书馆座位签到

技术类 Thor 来源:52破解-bone 4周前 (11-11) 13次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

前言

发现座位每天早上要签到,不然会导致违约。故在大佬的Python代码基础上删减增加实现签到和退坐。

代码

# -*- coding: utf8 -*-
# coder:nianboy
# modify:bone
# time:2022-11-11
import requests
import re
import datetime
 
 
class ChaoXing:
    def __init__(self, seatId):
        today = datetime.datetime.now()
        self.today= today
        self.seatId = seatId
        self.nowtime = today.strftime("%Y-%m-%d")
        self.lasttime = (today + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
        self.headers = {
            "User-agent": "Mozilla/4.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36",
        }
        self.session = requests.session()
 
    def sceen_data(self, id, start_time, end_time, name, pwd):
        global today_time
        start_time = start_time + "%3A00"
        end_time = end_time + "%3A30"
        login_api = "https://passport2.chaoxing.com/api/login"
        params = {
            "name": "name",  # 学习通账号
            "pwd": "pwd",  # 学习通密码
            "verify": "0",
            "schoolid": "",
        }
        self.session.get(login_api, params=params, headers=self.headers)
        page_url = ("http://office.chaoxing.com/data/apps/seat/reserve/info?id=" + str(
            id) + "&seatNum=" + str(
            self.seatId) )
        page_resp = self. session.get(url=page_url, headers=self.headers).text
        self.pageToken = re.findall(r"馆)\",\"id\":(\d+)", page_resp)[0]
         
        url = (
                "http://office.chaoxing.com/data/apps/seat/sign?id=" + str(
            self.pageToken)
        )
        print(self.today)
        page_text = self.session.get(url=url, headers=self.headers).text
        if '"success":true' in page_text:
            print(url + "房间号:" + str(
            id) + " 座位号:" + str(
            self.seatId) + " 签到成功!")
        else:
            print(url + page_text + "房间号:" + str(
            id) + " 座位号:" + str(
            self.seatId) + " 签到失败!")
         
 
if __name__ == "__main__":
    chaoxing = ChaoXing(seatId="09")  # 座位号
    chaoxing.sceen_data(id="26", start_time="10", end_time="21", name='', pwd='')
    # id需要抓包,start_time是预约开始时间,end_time是结束预约时间,name是学习通账号,pwd是学习通密码

本文标题:利用Python做到超星学习通图书馆座位签到
若文件有解压密码,默认为:www.sir8.cn
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,不得将上述内容用于商业或者非法用途。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
如有侵权,请联系邮箱shidao144@gmail.com进行删除处理。
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址