当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 一个CET查分的Python脚本
帖子发表于 : 2009-02-24 20:36 
头像

注册: 2007-08-27 22:03
帖子: 228
地址: http://apt-blog.co.cc/
送出感谢: 0 次
接收感谢: 0 次
附件:
文件注释: CETQuery
cet_query.png
cet_query.png [ 17.36 KiB | 被浏览 1965 次 ]



欢迎到我博客瞧瞧(有代码渲染效果):http://apt-blog.co.cc/archives/86.html

第二页有小修改的0.2版:
1.使用Dictionary来构造HTTP头
2.使用Request的参数改变默认的GET方式(其实GET也可以,只是模仿了原始网站控件的数据)
3.字符串处理:全部用解码后的byte string输出(此前用unicode串输出,并不是不好,但觉得那一堆tuple里面的u碍眼……)

还有就是研究了Python和Java的中文问题:http://apt-blog.co.cc/archives/91.html

查分也有Java版的,在我博客:http://apt-blog.co.cc/archives/89.html

*******


折腾了一个中午的结果(此前我连Python的if、函数定义都不会),Python确实名副其实的易学易用。

代码如下:
代码:
#!/usr/bin/python
#coding=UTF-8

import sys, urllib2

def CetQuery(band, exam_id):
    """CETQuery version 0.1  2009.2.24
   
    An Exercise Program by PT, GZ University
    Author Blog: http://apt-blog.co.cc , Welcome to Drop by.
    """

    cet = "http://cet.99sushe.com/cetscore_99sushe0902.html?t=" + band + "&id=" + exam_id

    print "Ready..."
   
    req = urllib2.Request("http://cet.99sushe.com/")
    fd = urllib2.urlopen(req)
    fd.close()

    print "Connecting..."

    req = urllib2.Request(cet)
    req.add_header('Referer','http://cet.99sushe.com/')
   
    try:
        data = urllib2.urlopen(req, '').read(100)
    except urllib2.URLError, e:
        print "Error retrieving data:", e
        return -1

    result = data.decode("gb2312")

    if not len(result):
        print "Error Occured. Maybe record not existed."
        return -1

    res_tu = tuple(result.split(','))
    score_tu = (u"听力", u"阅读", u"综合", u"写作", u"总分", u"学校", u"姓名")

    print "\n***** CET %s 成绩清单 *****" % (band)
    print "-准考证号: %s" % (exam_id)
    for i in range(7):
        print "-%s: %s" % (score_tu[i], res_tu[i])

    print "**************************\n"
    print u"准考证号前一位同学: %s\n后两位同学分别是: %s、%s" % (res_tu[-3], res_tu[-2], res_tu[-1])

    return 0


if __name__ == "__main__":
    if (len(sys.argv) != 3) or \
        (sys.argv[1] != '4' and sys.argv[1] != '6') or \
        (len(sys.argv[2]) != 15):
        print "Error: 程序参数错误,考试类型(4、6),准考证号长度(15位)"
        print "\nExample:\n\nCETQuery.py 4 123456789012345\n\n"
        print CetQuery.__doc__
        sys.exit(1)
   
    statue = CetQuery(sys.argv[1], sys.argv[2])
    sys.exit(statue)





apt-blog.co.cc PT作品


最后由 pentie 编辑于 2009-02-28 10:49,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-24 20:45 
头像

注册: 2008-12-19 13:44
帖子: 2337
地址: 东8区
送出感谢: 0 次
接收感谢: 0 次
:em20 我的挂了


_________________
代码:
 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| * 
 


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-24 21:35 

注册: 2006-06-05 17:53
帖子: 199
地址: 四川德阳
送出感谢: 0 次
接收感谢: 0 次
这样就好了,不用花那冤枉的时间去给恶心的网站制造利润!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 9:53 
头像

注册: 2007-12-08 23:33
帖子: 4088
地址: SCUT-guangzhou
送出感谢: 0 次
接收感谢: 0 次
非常好
不过我挂了 :em24


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 12:30 
头像

注册: 2007-10-21 16:41
帖子: 1289
地址: GD
送出感谢: 0 次
接收感谢: 0 次
funneian 写道:
这样就好了,不用花那冤枉的时间去给恶心的网站制造利润!



严重同意,那网站真的是超恶心。。。 :em31 :em31 :em31 :em31 :em31 :em31


_________________
吼吼


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 13:07 
头像

注册: 2008-05-13 20:40
帖子: 686
地址: 江南西道
送出感谢: 0 次
接收感谢: 0 次
我说怎么一开始进不去呢
非常欣赏楼主的精神那~这个脚本不错~CET6我考了三次,中间那次过了~另外两次一次差3分一次1分~见鬼了~


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 13:17 
头像

注册: 2008-11-09 18:07
帖子: 580
地址: SCU
送出感谢: 0 次
接收感谢: 0 次
我六级也挂了 :em21 :em21


_________________
。。。。。。。。感觉好山寨。。。。。。。。。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 13:41 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
唉,这些可怜孩子。。。 :em06


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 16:18 
头像

注册: 2008-07-21 9:44
帖子: 2371
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
俺的CET 6 也挂了 :em20
赞LZ,很强大的脚本。
python真的这么容易学,说得俺心痒痒的 :em01


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-25 22:32 
头像

注册: 2008-11-09 18:07
帖子: 580
地址: SCU
送出感谢: 0 次
接收感谢: 0 次
fhc2007 写道:
俺的CET 6 也挂了 :em20
赞LZ,很强大的脚本。
python真的这么容易学,说得俺心痒痒的 :em01


受LZ 的诱惑开始学python了
刚刚上路,感觉很好,很轻松。
就是有点不适应它严格的对齐规则


_________________
。。。。。。。。感觉好山寨。。。。。。。。。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-26 8:20 
头像

注册: 2008-07-27 8:51
帖子: 711
地址: 广西玉林|广东深圳
系统: Ubuntu/Windows
送出感谢: 1
接收感谢: 3
好像用不了,现在


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-26 21:33 

注册: 2006-12-13 22:20
帖子: 42
送出感谢: 0 次
接收感谢: 0 次
yy890521 写道:
fhc2007 写道:
俺的CET 6 也挂了 :em20
赞LZ,很强大的脚本。
python真的这么容易学,说得俺心痒痒的 :em01


受LZ 的诱惑开始学python了
刚刚上路,感觉很好,很轻松。
就是有点不适应它严格的对齐规则


习惯就好了。前途一片光明


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-27 0:19 
头像

注册: 2008-07-14 22:42
帖子: 8078
地址: Beijing
送出感谢: 0 次
接收感谢: 0 次
去年过了。。。不过还是很有意义的脚本,收藏一个 :em06


_________________
Ubuntu User


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-27 1:16 
头像

注册: 2007-01-06 21:00
帖子: 920
送出感谢: 2
接收感谢: 0 次
很好,我也挂了

不过更喜欢python了 :em03


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 一个CET查分的Python脚本
帖子发表于 : 2009-02-28 10:14 
头像

注册: 2007-08-27 22:03
帖子: 228
地址: http://apt-blog.co.cc/
送出感谢: 0 次
接收感谢: 0 次
yy890521 写道:
fhc2007 写道:
俺的CET 6 也挂了 :em20
赞LZ,很强大的脚本。
python真的这么容易学,说得俺心痒痒的 :em01


受LZ 的诱惑开始学python了
刚刚上路,感觉很好,很轻松。
就是有点不适应它严格的对齐规则


我可喜欢它的对齐了!终于可以脱离那种C风格的大括号~~

我就用gedit写,除了删除缩进稍有点麻烦外,已经完全足够了……如果有个对python支持好点的编辑器,这很好解决


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译