新人报道,带来一段自己的 Python 的正方教务系统爬虫 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
remnet

新人报道,带来一段自己的 Python 的正方教务系统爬虫

  •  
  •   remnet
    yijiasu May 6, 2014 10986 views
    This topic created in 4374 days ago, the information mentioned may be changed or developed.
    最近由于多种原因决定放出去自己写的一段Python的正方系统爬虫,现在还不是很完善,支持课表、成绩等数据的抓取。
    爬虫现在还相当相当不完善。。目前测试过的学校就我自己的学校,华南理工大学,以及华农。
    不过稍微修改一下基本所有的正方系统的学校都能适配。。我自己的华工校园APP项目iSCUT就在使用这套爬虫。

    代码目前在github: http://github.com/yijiasu/openzf

    各路大神轻喷… 希望大家优化匹配好其他学校的系统~
    有问题直接回复我或者email~
    15 replies    2014-07-20 17:11:26 +08:00
    zts1993
        1
    zts1993  
       May 6, 2014 via Android   1
    很不错,我上次只写了爬课表,,
    Comdex
        2
    Comdex  
       May 6, 2014 via Android   1
    教务系统登录有验证码这个也解决了?
    halfcrazy
        3
    halfcrazy  
       May 6, 2014   1
    验证码看上去是基本的那种,可以参考我写的这个
    https://github.com/halfcrazy/DecodeValidateCode
    remnet
        4
    remnet  
    OP
       May 6, 2014
    @zts1993 我也在github看到你的代码了。。
    这个爬虫还不是很完善,准备有空找更多学校的人来适配
    remnet
        5
    remnet  
    OP
       May 6, 2014
    @halfcrazy 验证码似乎是有办法可以绕过的。。。
    remnet
        6
    remnet  
    OP
       May 6, 2014
    @Comdex 现在还得手工加入验证码
    halfcrazy
        7
    halfcrazy  
       May 6, 2014
    @remnet 能不能绕过就得抓包具体分析了,如果能绕过那是最好的了,速度能快不少。
    RockyLee
        8
    RockyLee  
       May 6, 2014   1
    http://正方地址/default_ysdx.aspx 这个方法好用不 http://blog.zts1993.com/5387.html
    remnet
        9
    remnet  
    OP
       May 6, 2014
    @RockyLee @halfcrazy 卧槽 这个可以用。验证码可以破了
    tuteng
        10
    tuteng  
       May 6, 2014
    http://gotit.asia/ 看看我们学校的
    remnet
        11
    remnet  
    OP
       May 6, 2014
    @tuteng 好像不错,也是正方系统?用啥做解析的
    tuteng
        12
    tuteng  
       May 6, 2014   1
    正方系统。但是不是俺做的,对web开发不懂,不敢乱说。
    https://github.com/zhwei/gotit 这是源码,你可以跟作者交流交流
    Comdex
        13
    Comdex  
       May 6, 2014   1
    之前用golang做了一个只能成功获取登录后的首页的,貌似我们学校这个没用到cookie的,好像采取post传送动态sessionID这样的机制(不懂怎么说),http://jwc.gduf.edu.cn
    remnet
        14
    remnet  
    OP
       May 6, 2014
    @Comdex 你们学校也是使用在URL里面加入一段乱七八糟的hash的方法。
    其实我很不理解为什么正方会这么做?防止爬虫?可我发现也没能防止啊,无非就是多了个步骤。
    这段hash似乎可以自己修改,只要保持位数不变。不然会报404错误

    PS:你们学校应该可以直接套用我的代码来抓取。你可以试试看。联系我提供个账号~ 我有空加入你们学校的适配~
    Eisblume
        15
    Eisblume  
       Jul 20, 2014
    大神,你的程序的sendmail.py是什么内容,我运行了,发现报“python: can't open file 'sendmail.py': [Errno 2] No such file or directory”这样的错误。
    About     Help     Advertise     Blog     API     FAQ     Solana     6125 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 101ms UTC 06:12 PVG 14:12 LAX 23:12 JFK 02:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86