曲师大抢课tool(python版)

相信大家已经被教务系统折腾的无可奈何..
于是他应(jian)运(qing)而(fu)出(dan)

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
headers = {
    # 'Host': 'ids.qfnu.edu.cn',
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like     Gecko) Chrome/55.0.2883.95 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    # 'Referer': 'http://202.194.188.19/menu/top.jsp',
    'Accept-Encoding': 'gzip, deflate, sdch',
    'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4'
}

session = requests.session()
#教务系统的登陆
def login(username,password):

    session = requests.session()
    resp = session.get("http://ids.qfnu.edu.cn/authserver/login?service=http%3A%2F%2F202.194.188.19%2Fcaslogin.jsp", headers=headers)
    print(resp.cookies)
    bsObj = BeautifulSoup(resp.text, "html.parser")
    lt = bsObj.find('input', {'name':'lt'})['value']
    execution = bsObj.find('input', {'name':'execution'})['value']
    print(lt)
    print(execution)
    params = {
        'username': username,
        'password': password,
        'lt': lt,
        'execution': 'e1s1',
        '_eventId': 'submit',
        'rmShown': '1'
    }
    resp = session.post("http://ids.qfnu.edu.cn/authserver/login?service=http%3A%2F%2F202.194.188.19%2Fcaslogin.jsp", data=params, headers=headers)

    return session
#查询自己的课表
def cxkb(session):
    cxkb=session.get("http://202.194.188.19/xkAction.do?actionType=6")
    with open("个人课表1.html", "w") as f:
               f.write(cxkb.text)


#http://202.194.188.19/xkAction.do?actionType=2&pageNumber=19 get
def cxqk_kb(page,session):
    for page in range(1,page+1):
        r = session.get("http://202.194.188.19/xkAction.do?actionType=-1")

        r = session.get("http://202.194.188.19/xkAction.do?actionType=2&pageNumber=-1&cx=ori")

        #r = s.post("http://" + jwc_ip + "/xkAction.do", data = tparam, timeout = time_delay)
        fy_url ='http://202.194.188.19/xkAction.do?actionType=2&pageNumber={page}'.format(page=page)
        cxkb=session.get(fy_url)
        print(cxkb.content)
        with open("选课"+str(page)+".html", "w") as f:
               f.write(cxkb.text)


#抢课系统
#http://202.194.188.19/xkAction.do kcId=520002_101&preActionType=2&actionType=9
def choseClass(kch,kxh,session):
    kcId=str(kch)+'_'+str(kxh)
    print(kcId)
    params={
        'kcId': kch+kxh,
        'preActionType':'5',
        'actionType':'9'
    }
    params1={
        'kcId': kch+kxh,
        'preActionType':'2',
        'actionType':'9'
}
    tparam = {
    "kch": "510002",
    "cxkxh": "29",
    "kcm" : "",
    "skjs": "",
    "kkxsjc": "",
    "skxq": "",
    "skjc": "",
    "pageNumber": "-2",
    "preActionType": "2",
    "actionType": "5"
  }
    r = session.get("http://202.194.188.19/xkAction.do?actionType=-1")
    r = session.get("http://202.194.188.19/xkAction.do?actionType=2&pageNumber=-1&cx=ori")
    r = session.post("http://202.194.188.19/xkAction.do", data = tparam)
    resp = session.post("http://202.194.188.19/xkAction.do",data =params)
    with open("test.html", "w") as f:

                f.write(resp.text)
a=login('2016416xxx','xxx')
#choseClass('510004','50',a)
#查询选课容量
#cxqk_kb(19,a)
#查询个人课表
cxkb(a)
choseClass(510004,50,a)

实现了对教务系统的模拟登录,
使用过程:在选课期间获取课表后,查得课程号和课序号 然后 进行选课~代码抢课期间短短一小时写的 直接发上来了 ...如若使用,可以自己再完善下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容

  • 一、问题描述 随着高校教育教学改革的深入,很多高等院校都开始对课程设置结构进行优化,从传统课程结构的单一性...
    Polaris丶阅读 2,967评论 0 4
  • 两年前这个公众号做过一篇特稿,分析了“公开渠道的教务系统 2016 年 1 月选课期间的一些日志”。写那篇文章让我...
    phy25阅读 2,011评论 0 1
  • 事情缘由还得从那天下午的课说起。当时大家都在认真听课。突然,旁边一哥们说他抢到了“高级数理逻辑”了,what???...
    Rabin_xie阅读 6,784评论 8 20
  • 用前说明: 本文章仅对 Web 开发,Python 开发进行探讨,进行实验时请遵守学校的规章制度。任务自动化本来就...
    Pursuer96阅读 8,708评论 0 6
  • 豆瓣:8.5 IMDB:8.9 个人:8.3 整体上最强烈的感觉还是Natalie Portman的精湛表演。记得...
    水_印阅读 452评论 0 0