课程设计需要用到显示课表的功能【为了方便做界面,我选择了Delphi XE4作为我的开发工具】,中期检查时老师说希望能加入从教务处发下的Excel中导入课表信息的功能,但我斟酌再三,凭着之前的一点点技术储备【我其实算是小白,以下很多功能其实可能有更简便的解决办法】,决定直接从教务系统的html里获得我所需要的课表信息。
经过初步分析,从教务获得信息需要经过几步:(1)访问教务网站;(2)填写用户名和密码,点击确认;(3)提示登录成功后跳转到查询课表页面;(4)抓取课表页面的html源码存入本地;(5)从源码中获取需要使用的信息。经过数日在各大论坛上吸取经验,我渐渐摸索出了相应的解决方案。
(1)访问教务网站。不难,Delphi自带TWebBrowser类,稍稍一查就查出来用法:
WebBrowser1.Navigate('http://222.194.15.1:7777/zhxt_bks/xk_login.html');
while webbrowser1.busy do Application.ProcessMessages;
while webbrowser1.ReadyState <>READYSTATE_COMPLETE do Application.ProcessMessages;
(2)填写用户名和密码,点击确认。先看看登陆页面的源代码【部分节选】:
<trbgcolor="#EAE2F3">
<td bgcolor="#E2D8EF">学号:</TD><TD><