吴文莉+张强
摘要:为适应新形势下信息获取的需要,充分认识并利用新媒体的优势,有效地利用好微信公众平台,针对安徽师范大学传统教务信息获取效率不高的现状,开发了基于微信公众平台的教务信息服务管理系统。该系统是基于微信平台的二次开发,使用网络爬虫等核心技术,实现了高校教务信息的高效获取。系统不仅为在校学生提供了更加便捷的校内信息服务,更丰富了校外人士了解安徽師范大学的渠道。测试数据结果表明依托于微信平台的信息获取方式比传统浏览器模式的信息获取方式的效率高、加密算法下的信息安全性更佳。
关键词:微信平台;信息查询;网络爬虫
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)01-0025-04
Abstract:In order to adapt to the needs of information acquisition under the new situation, to fully understand and take the advantage of new media and to use the WeChat public platform effectively, the educational administration information service management system based on the WeChat public plat was developed according to the current situation of Anhui normal university. The system based on the secondary development of WeChat platform. With the use of core technologies such as Crawling the Web, it can help users to get educational information efficiently from Anhui Normal University. And the system provides students with the campus information services more convenient and enrich the channels of external people understand Anhui Normal University as well. The analysis of experimental results also shows that the way of obtaining information on WeChat platform is more efficient and safe than the traditional way on the browser.
Key words: WeChat platform; information search; crawling the Web
近几年来,随着互联网技术的高速发展,腾讯公司推出的微信迅速发展,成为一款基于智能移动平台且能通过网络快速、实时且即时通讯软件[1],和腾讯下流行的社交网一样拥有极大数量的用户群。在微信的基础上,腾讯公司又推出微信公众平台,增加了用户微信公众号这一功能。利用微信公众平台提供的标准接口,可以建立微信公众号,与庞大的微信用户群建立通讯的桥梁。
目前,很多学者看准微信背后的广大用户群,开发基于微信公众号的相关研究。比如基于微信公众平台的高校图书馆服务研究[2],基于微信公众平台的个性化商品信息推荐研究[3],利用微信公众平台更好地为广播服务[4],将微信应用于医学教学中[5],对微信研究文献的系统分析[6]等。但基于微信公众号获取高校信息的服务研究还相对较少。本文提出的系统不同于传统浏览网站的方式获取信息,而是通过微信公众号获取相关信息。
2015年3月5日,在十二届全国人大三次会议上,李克强总理在政府工作报告中首次提出“互联网+”行动计划[7],随着移动互联网的快速发展,通过智能终端获取信息的方式在人们日常生活中越来越普遍。本系统设计的信息来源是安徽师范大学教务管理系统的信息,使用者通过关注微信公众号即可获取自身所需要的信息。利用微信平台这一便捷的渠道为校内外人士提供信息服务,不仅符合社会潮流发展的趋势而且大大方便了在校学生,具有实际的应用价值。
1 基于微信平台服务号管理系统的搭建
1.1 构建新浪云平台服务器
采用新浪云平台提供的免费服务器。新浪服务器具有性能稳定、易于部署、方便维护等特点。可以用微博账号登陆到http://www.sinacloud.com/ 新浪云平台,也可以在线注册。使用服务器会产生一定的费用,所以需要提前充值一定金额。在控制台可以创建属于自己的应用,新浪云平台服务器如图1所示。
部署服务器意义重大,服务器是该系统的核心之一,它的主要作用是接受用户通过微信公共账号提供的接口所发送的信息,根据信息的内容调用不同的功能模块响应处理。
1.2 系统数据库设计
由于本系统是通过模拟用户登录教务管理系统爬虫获取信息,所以数据库只需保存用户的教务管理系统账号和密码,即数据库中只有一张用户表。为安全起见,系统记录的是用户加密后的教务管理系统账号和密码。
系统采用MySql数据库设计而成,用户表中包含的字段名为:微信全局识别码,教务管理系统账号,教务管理系统密码,绑定时间。数据库建表语句如下:
CREATE TABLE `weixinuser` (
`weixinid` varchar(100) NOT NULL,
`userId` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`bindingtime` datetime default NULL,
`PRIMARY KEY (`weixinid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.3 系统设计
系統接收到用户发来请求后首先会判断用户是否已经绑定账号,如果用户未绑定账号则向用户发送帮助信息,指导用户注册并帮助用户熟悉本系统的使用方法。若是已注册用户则对用户发送到信息进行识别,首先判断消息类型,根据不同的消息类型调用函数对消息内容进行判断,然后根据调用对应的模块进行处理,返回处理结果。系统使用流程图如图2所示。
数据库中储存用户的信息,数据处理模块调用网络爬虫算法从数据库中获取用户信息,进行信息分类。服务系统结构图如如图3所示描述的是系统中各个模块之间的调用关系。用户信息模块、信息分类模块、网络爬虫模块以及数据库都需要与数据处理模块进行交互。
2 核心技术
2.1 接口技术
根据微信平台提供的标准的接口文档,在初始化微信公众账号的同时设定标签,在服务器的主界面进行判别,根据不同类型的标签,调用不同功能模块进行处理。分类处理使得系统运行效率高,信息处理更加便捷。
2.2 网络爬虫技术
网络爬虫技术的使用,使得针对于校内学生的特殊服务得以实现。网络爬虫是一种自动抓取网页并提取网页内容的程序,是搜索引擎的信息获取渠道[8]。是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。本系统应用爬虫技术的模块是校内学生获取在安徽师范大学教务管理系统的个人信息模块。具体的信息如课表、成绩、今日课表、考试日程等。通过用户绑定的教务管理系统的账号信息,利用爬虫技术抓取相应的数据包。
2.3 网页信息过滤算法
利用爬虫技术获取的数据包并不能提供给用户直接使用,需要采用一定的算法将捕获的信息进行加工处理。把用户需要的信息,按照微信提供的接口标准转换成相应的数据格式反馈给用户。
网页信息过滤算法主要对获取的数据进行解析,进行二次封装,满足后续不同模块对数据的需求。图4为信息处理过程。
2.4 加密算法
整个系统的信息交互通过网络进行传输,因此信息的安全十分重要。为了解决隐私保护问题,保证学生和教师的相关信息不被泄露和窃取,服务器和微信平台间通信均采用加密方式,即微信公众号的消息加解密方式选择为安全模式。我们通过微信提供的接口格式及方法进行加密,同时根据公众号的应用账号、令牌、消息加解密密钥作为依据进行加密解密。
3 系统功能
3.1 用户注册绑定
图5中用户信息模块主要有三大功能。首先,该模块可以对通过微信客户端向服务器提交请求的用户进行身份判定;其次,该模块提供未绑定用户的注册功能;最后,该模块提供已注册的用户解除绑定功能。
用户只需关注微信公众号,即可获取信息。关注成功后微信后台会推送“感谢您关注”信息。用户注册绑定的应用可以使用户的管理更加安全、高效。校外人士查看资讯信息可以不用绑定账号,但对于校内学生获取与自身相关的个人信息,需要绑定账号。绑定成功后,会有“绑定成功!”的消息显示,与用户进行交互。
3.2 网络爬虫模块
由于安徽师范大学教务管理部门没有开放教务管理系统接口,故本系统开发了网络爬虫模块。此模块通过对安徽师范大学教务管理系统的分析,确定相应链接信息格式、及合法地址,可以在无系统接口的条件下完成数据获取。通过网络爬虫技术使学生获取个人信息成为可能。图6为网络爬虫模块流程图。
3.3 信息分类模块
信息分类用于对接微信接口,是本系统对外的接口模块。主要作用是对用户请求信息进行分类处理,调用不同的模块进行处理。
图7表示信息分类模块中不同功能调用不同的数据处理模块。如果用户查询课表,则在屏幕显示课表信息;如果用户查询考试安排,则在屏幕显示考试安排信息。
4 性能分析
由于本系统出发点是为校外人士提更加便捷的渠道了解安徽师范大学,为校内学生提供更加便利的信息服务,所以对于本系统的测试,着重于实用方面的性能测试。
4.1 PV量测试结果
图8横坐标表示时间,纵坐标表示服务器页面浏览量 PV(page view),即页面浏览量。图8为近一个月的时间内,用户访问服务器的页面浏览量。
4.2 网络爬虫技术算法实验结果
通过用户绑定的教务管理系统的账号信息,利用爬虫技术抓取相应的数据包。为了测试算法效率及稳定性,对抓取次数进行了对比实验测试。图9横坐标表示连续的抓取次数,纵坐标表示时间,分别对课表和成绩页面进行10、20、50、100次的连续抓取进行对比。由图9可知,高速执行时,算法的性能稳定。
4.3 加密算法实验结果
图10为按照回传信息的包的大小不同作出的对比试验,测试加密的效率(注:测试环境本地模拟),横坐标表示加密文本大小,纵坐标表示时间。由图10分析可知,在包的大小在一定范围,数据加密用时与包的大小呈线性相关,加密算法的效率非常高。
4.4 对比传统方式的效率结果
图11和图12为同等网络条件下通过智能终端使用传统的访问方式和微信公众号访问方式获取信息的效率进行对比实验的结果。图11和图12横坐标为网络类别,纵坐标为时间。由上图两组测试数据可以看出,在所测试的网络环境下基于微信服务号获取信息所需的时间明显小于传统方式获取信息所需的时间。即在所测试的网络环境下依托于微信平台的服务系统获取信息的效率都远胜于传统模式。
5 结束语
传统的访问学校网站的方式获取信息,网络请求速度较慢。微信服务号管理系统则为获取信息提供更加便利、更加灵活的渠道。用户可以直接通过关注微信公众号获取信息,校内学生可以通过用户绑定直接查看个人相关信息,给用户带来了极大的方便。
在“互联网+”这个大环境下,随着互联网的高速发展和智能移动设备的普及,微信用户群会越来越庞大,人们将会习惯与用微信客户端获取信息,此系统将会得到广泛的应用。紧跟着大数据时代的脚步,如何智能的挑选相关信息推送给用户将是下一步研究方向。
参考文献:
[1] 王明亮,闵新力,姬江涛,等.基于微信的移动外勤管理系统设计与实现[J].计算机应用与软件,2015,32(7):82-85.
[2] 周秋霞.微信公众平台在陕西省高校图书馆应用现状及建议[J].图书馆学研究,2015:41-44.
[3] 冯锦海,杨连贺,刘军发,等.基于WLAN移动定位的个性化商品信息推荐平台[J].计算机工程与科学,2014,36(10):1925-1931.
[4] 刘慧.如何让微信平台更好地为广播服务[J].视听,2015(5):137-138.
[5] 霍彦,陈春子.微信社会影响研究综述[J].信息系统工程,2015:65-67 .
[6] 曾昌琴,钟代曲,张庆.微信在神经内科临床护理教学中的应用[J].世界中医药,2015,10:291.
[7] 张兴旺,李晨晖.“互联网+图书馆”顶层设计相关问题研究[J].图书与情报,2015,(5):33-40.
[8] 于娟,刘强.主题网络爬虫研究综述[J].计算机工程与科学,2015,37(2):231-237.