新版CET4/6级查分工具源码

博主分享了如何根据新的查分地址更新四六级查分工具的过程,采用了多线程调度方法,提高了查分速度。提供了CET.py和CETGUI.py的源码,但遇到将Python脚本编译为exe的问题,期待解决。同时提到99宿舍可能因类似工具的压力推出了通过姓名和学校查询准考证号的功能。
摘要由CSDN通过智能技术生成

今早用之前的在校园蘑菇上的查分软件 http://blog.csdn.net/gripleaf/article/details/9075561 查了下六级,发现进程老死,然后刷了下微博,发现@阿小信大人 说查分地址改变了,于是就去看了一下新的查分地址,然后按照之前跟康哥讲的多线程调度方法,略加修改,现在已经完成了新版CET46级差分工具,此工具后期查分速度会减缓,但前期的速度是很快的。


附上源码:

主函数,所有的编码都应当是utf-8,包括读入文件的编码。由于改成是图形界面版本了,所以就不需要什么读入文件了,不过需要一些图片放在同一目录下,图片列表的话,在调试过程中应该能够看到的,我就不写了。。。实在不行,直接checkCETGUI.py的源代码也可以。

原本还想帮忙编译成exe的,但是用py2exe试了好几次,不知道什么原因,会弹出很多白色的标准输出框来,所以就放弃治疗了。如果谁能告诉我这是怎么回事,真是万分感谢啊。

另外,据说99宿舍已经提供了通过姓名和学校查询准考证号的功能,个人觉得应该是@阿小信大人 的程序给99宿舍服务器造成了一定压力才迫使他们推出这种功能。再次膜拜一下。


CET.py

主函数,可以独立编译运行

__author__ = 'glcsnz123'
#_*_encoding:utf-8_*_
import urllib, urllib2, thread, time, codecs


mylock = thread.allocate_lock()
ScoreList = []
anslist = []
cefy = []
rank = []
Prefix = ""
UserName = ""
Rating = 0.0




def Check(hole, stid="", name=""):
    #print stid, name
    if not isinstance(stid, unicode):
        stid = stid.decode("ascii")
    if not isinstance(name, unicode):
        name = name.decode("utf-8")
    post_data = urllib.urlencode({"id": stid.encode("gbk"), "name": name.encode("gbk")});
    #print post_data
    HEADERS = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", \
               "Accept-Charset": "GBK,utf-8;q=0.7,*;q=0.3", "Accept-Encoding": "gzip,deflate,sdch", \
               "Accept-Language": "zh-CN,zh;q=0.8", "Cache-Control": "max-age=0",
               "Content-Type": "application/x-www-form-urlencoded", \
               "Cookie": "cnzz_a30023677=4; sin30023677=; rtime30023677=5; ltime30023677=1356177904700; cnzz_eid30023677=19927958-1318821986-http%3A//www.baidu.com/s%3Fwd%3D99%25CB%25DE%25C9%25E1%26rsv_bp%3D0%26rsv_spt%3D3%26oq%3D9; searchtime=1356177913"
        ,
               "Host": "cet.99sushe.com", "Origin": "http://cet.99sushe.com", "Referer": "http://cet.99sushe.com/", \
               "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.20 (KHTML, like Gecko) Chrome/25.0.1337.0 Safari/537.20"
    };
    #print post_data
    pst = urllib2.Request("http://cet.99sushe.com/search", headers=HEADERS);
    try:
        pst = urllib2.urlopen(pst, post_data)
    except Exception, e:
        try:
            mylock.acquire()
            hole.append(stid[-5::1])
            #print stid
        finally:
            mylock.release()
        return "w"
    html = pst.read()
    #print html
    return html.decode("gbk")




def LoopOne(prefix, name, hole, async=True, t_index=0, c_index=0): #check the query in loop
    while rank[t_index] == c_index:
        try:
            if async:
                mylock.acquire()
            if len(hole) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值