zoukankan      html  css  js  c++  java
  • 智学网电脑端查分小工具 已更新V2.2

    本文作者MiserWeyte

    特别鸣谢这段代码的源作者,我的大佬同学(MetalkgLZH)。由于我没有做什么工作,这篇随笔基本不含相关技术细节。

    再次强调,这个程序的主要部分由(MetalkgLZH)完成。技术细节与源码可以在他的官网(貌似正在维护)查看。这个程序与(MetalkgLZH)(MiserWeyte)(我)开发的所有后续版本遵守(GPL~V3)协议。


    Latest update 2019.10.14:

    版本V2.2:

    1、添加了密码错误以及网络错误时的提示;
    2、成绩输出框可手动修改的bug已修复。

    公开V2.2源码:

    点击查看:ZhiXue.py
    
    #ZhiXue.py
    

    -- coding: utf-8 --

    import libguizxw
    from zhixuewang import Zhixuewang
    import wx
    import time

    class zxw_main(libguizxw.MyFrame1):
    def init(self,parent):
    libguizxw.MyFrame1.init(self,parent)
    def button_click(self,event):
    kaohao = str(self.m_textCtrl1.GetValue())
    mima = str(self.m_textCtrl2.GetValue())
    try:
    zxw = Zhixuewang(kaohao,mima)
    score = zxw.get_self_mark()
    self.m_textCtrl3.SetValue(str(score))
    except Exception as err:
    if "Connection" in str(err):
    self.m_textCtrl3.SetValue("网络异常,请检查网络连接情况")
    return
    if "用户名" in str(err):
    self.m_textCtrl3.SetValue("用户名或密码错误")
    return

    app = wx.App(False)
    zxwgui = zxw_main(None)
    zxwgui.Show(True)

    start the applications

    app.MainLoop()

    The software included in this product contains copyrighted software that is licensed under the GPLv3.

    点击查看:libguizxw.py
    
    #libguizxw.py
    

    -- coding: utf-8 --

    ###########################################################################

    Python code generated with wxFormBuilder (version Jun 17 2015)

    http://www.wxformbuilder.org/

    PLEASE DO NOT EDIT THIS FILE!

    ###########################################################################

    import wx
    import wx.xrc

    ###########################################################################

    Class MyFrame1

    ###########################################################################

    class MyFrame1 ( wx.Frame ):

    def __init__( self, parent ):
        wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"zxw查分器V2.2", pos = wx.DefaultPosition, size = wx.Size( 400,500 ), style = wx.DEFAULT_FRAME_STYLE|wx.WANTS_CHARS )
    
        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
        self.SetExtraStyle( wx.WS_EX_BLOCK_EVENTS|wx.WS_EX_PROCESS_IDLE|wx.WS_EX_PROCESS_UI_UPDATES|wx.WS_EX_TRANSIENT|wx.WS_EX_VALIDATE_RECURSIVELY )
    
        bSizer2 = wx.BoxSizer( wx.VERTICAL )
    
        self.m_staticText4 = wx.StaticText( self, wx.ID_ANY, u"本程序使用wxpython构建GUI,zhixuewang pip库构建API
    Metalkg李子豪编写,MiserWeyte(徐行健)重构", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText4.Wrap( -1 )
        bSizer2.Add( self.m_staticText4, 0, wx.ALL, 5 )
    
        self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, u"本程序完全遵循GPL V3协议,并已开放程序源代码", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText5.Wrap( -1 )
        bSizer2.Add( self.m_staticText5, 0, wx.ALL, 5 )
    
        self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"输入学号:", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText2.Wrap( -1 )
        bSizer2.Add( self.m_staticText2, 0, wx.ALL, 5 )
    
        self.m_textCtrl1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.Point( 40,40 ), wx.Size( 400,-1 ), 0 )
        self.m_textCtrl1.SetMaxLength( 8 ) 
        bSizer2.Add( self.m_textCtrl1, 0, wx.ALL, 5 )
    
        self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"输入密码:", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText3.Wrap( -1 )
        bSizer2.Add( self.m_staticText3, 0, wx.ALL, 5 )
    
        self.m_textCtrl2 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 400,-1 ), wx.TE_PASSWORD )
        bSizer2.Add( self.m_textCtrl2, 0, wx.ALL, 5 )
    
        self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        bSizer2.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 5 )
    
        self.m_button1 = wx.Button( self, wx.ID_ANY, u"查分", wx.Point( -1,-1 ), wx.Size( 600,-1 ), 0 )
        bSizer2.Add( self.m_button1, 0, wx.ALL, 5 )
    
        self.m_textCtrl3 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 600,620 ), wx.TE_MULTILINE | wx.TE_READONLY )
        bSizer2.Add( self.m_textCtrl3, 0, wx.ALL, 5 )
    
        # menuBar = wx.MenuBar()# 创建一个菜单栏
        # menu = wx.Menu()# 创建一个菜单
        # menuBar.Append(menu, "关于")# 添加菜单到菜单栏
        # self.SetMenuBar(menuBar)
    
    
        self.SetSizer( bSizer2 )
        self.Layout()
    
        self.Centre( wx.BOTH )
    
        # Connect Events
        self.m_button1.Bind( wx.EVT_BUTTON, self.button_click )
    
    def __del__( self ):
        pass
    
    
    # Virtual event handlers, overide them in your derived class
    def button_click( self, event ):
        event.Skip()
    

    The software included in this product contains copyrighted software that is licensed under the GPLv3.

    V2.2程序release:

    度盘(25.9 MB) 提取码t5hr


    由于sd智学网取消了网页端查分,只能在手机段操作,于是我们想在机房查分就只能装模拟器啥的……于是(lzh)(github)上发现了一个python库(zhixuewang),用于爬取智学网后端api。这个库的github页面

    于是他在几个月前自学了两小时python完成了只有cmd页面的查分器。只要输入考号和密码,就可以返回最近一次考试的所有相关成绩信息,甚至包括智学网原版前端页面不展示的部分排名信息。(在此声明,不鼓励考试排名行为,对于该程序使用者的任何行为,本人与其他开发者不承担责任。)

    最近(lzh)完成了这个程序的gui界面,基于(wxpython)。本人进行了部分优化与重构。

    由于相关责任问题,这里不公开发布程序的V2.1版本。源码及可运行的程序release请见MetalkgLZH的官网。若无法进入,可以在cnblog中私信我获取。

  • 相关阅读:
    zookeeper使用场景
    zookeeper安装配置
    hadoop 远程调试
    deep learning笔记
    Sentiment Analysis(1)-Dependency Tree-based Sentiment Classification using CRFs with Hidden Variables
    PRML阅读笔记 introduction
    Python 学习笔记(2)
    python nltk 学习笔记(5) Learning to Classify Text
    python nltk 学习笔记(4) Writing Structured Programs
    python nltk 学习笔记(3) processing raw text
  • 原文地址:https://www.cnblogs.com/miserweyte/p/11656574.html
Copyright © 2011-2022 走看看