Python Tech

用Python登录正方系统获取课表

没想到毕业之后还会折腾这破玩意。大学时用RGSS语言完成过一个类似的功能(虽然最近才知道它和Ruby语言有关),但没用Python写过。其实代码完全没难度,但这套系统很讨厌,它用.NET语言写成,出现最多的是页面是“当前访问人数过多,请稍后访问”,系统开发者最擅长的是制作登录界面,一口气做了5个(这得多闲啊……)。其中的default3.aspx不需要验证码。登录时必须带一个叫__VIEWSTATE参数,推测是系统自动生成,每隔一段时间会更换。 所以与其说我是分享Python代码,不如说我是分享正方系统的彩蛋来得准确。但好歹功能代码是Python的,总之都是非常基础的功能,包括: urllib和urllib2的使用 登录之后保存cookie 用BeautifulSoup(新版是bs4)分析页面内容 以上,直接贴代码:

获得html之后用BeautifulSoup解析,先找到table标签,然后通过id获取DOM:

搞定了,欢迎各位以此为基础制作各种选课程序。= =v

Continue Reading
Tech

Ubuntu 12.04 安装scribe 的笔记

首先,如果你不是很熟悉C++,请放弃安装scribe。这个项目有年头没更新了,分布式日志写入可以考虑haodoop的flume或是支持MongoDB,能直接获取scribe输出的fluentd。其次,建议按照这篇笔记记录的版本,或者手动修改代码,让scribe支持高版本的filesystem以及各种库,否则必然会出现各种错误。而且这些问题虽然是同样的报错但在Google上有各种千奇百怪的解释。 scribe依赖Boost库,用thrift实现跨语言,还需要fb303来做监控。在CentOS上找到了rpm包,在Ubuntu上,apt-get 安装的版本都是最新的,scribe用不了,都要手动安装…(稍微能体会到这篇笔记的艰辛了吗?=_,=) 在装坏一台vps后开始使用build目录… mkdir scribe-build cd scribe-build mkdir dist Install boost http://sourceforge.net/projects/boost/files/boost/1.41.0/

Continue Reading