HtmlUnit在网上招聘系统中的应用

2015-10-19 05:46陈免慧沈炜
电脑知识与技术 2015年20期
关键词:数据采集

陈免慧 沈炜

关键词:数据采集;HtmlUnit;Ajax;招聘系统

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)20-0061-03

Application of HtmlUnit in Online Recruitment System

CHEN Mian-hui, SHEN Wei

(The School of Information in Zhejiang Sci-Tech university, Hangzhou 310018, China)

Key words: data-collectiong; HtmlUnit; Ajax; recruitment system

招聘这一环节被视为整个企业人力资源管理中的重要组成部分。但是,多数人却任没有看到这一工作之重要,并没有将招聘工作摆在议程上,使得企业的人力资源管理中出现了“瓶颈”问题,伴随着计算机和信息时代的发展,在线招聘系统的开发可以有效地帮助企业解决这一问题。

现今社会,随着互联网发展,信息时代也随之到来。招聘形式也由从前查阅报纸,到后来的跑招聘会,再到现在网络招聘的普及,求职者可以很方便地在求职网站中搜寻到心满意足的职位。但是,另一方面,也导致了大量的招聘网站涌现,这些招聘渠道缺乏统一的管理,不仅使求职者眼花缭乱,不知使用哪个网站,更使企业在发布职位的时候,需要多个渠道发布同一条职位。本文采用htmlunit技术,实现了统一发布职位到其他各个渠道,并且这些渠道可以手动添加;与此同时,此招聘系统实现了从其他各个招聘渠道抓取相应的职位和候选人。

1 互联网数据采集所面临的问题

一般前台页面都是用HTML语言编写,我们知道,传统的HttpClient方法可以用在一般的数据获取中,但同时存在着不足:

1)在获取Ajax异步加载的页面,比如新浪微博、淘宝等网站大量使用Ajax异步获

取数据的技术。

2)某些网站需要提交表单或者是需要登录后才能够获取信息,比如搜索引擎需要提交表单后才能获取。

3)网页信息抽取大多使用正则表达式,对访问的效率与灵活性都不高。

HtmlUnit是个纯Java的无界面的浏览器,采用了Rhinojs引擎,可以对js以及主流的js框架有很好的支持。还可通过executeJavascript函数执行js代码。

2 HtmlUnit在招聘系统中的应用

2.1 获取Ajax异步加载数据的页面

HtmlUnit中的WebClient.getOptions().setJavaScriptEnabled()函数提供了对解析页面js脚本的支持,WebClient.setAjaxController()函数提供了对解析页面Ajax动态加载数据的支持,所以HtmlUnit在解析网页中动态加载的数据,有很好的应用。

2.2 获取提交登录后的页面数据

有些情况需提交表单后才能获取数据,比如搜索引擎,而某些情况则需登录后才能获取网页的数据,这些情况都是要向服务器提交数据来进行交互操作。一般的做法是提交HTTP协议中的Get方法,来提交自定义的URL字符串,从而登录,又或者是手动登录获取对应的cookie和session,用这些cookie和session来进行请求。

2.3 页面数据提取

HtmlUnit可以用正则来获取网页内容,使用Xpath技术来获取到提交的按钮和图片。HtmlUnit获取对象的方法如下:

用Xpath方法获取对象,形式为:getFirstByXPath(“//input[@type=submit]”);

用Id方法获取对象,形式为:getElementById(String);

用Name方法获取对象,形式为:getElementByName(String);

用Key方法获取对象,形式为:getElementsByAccessKey(char);

用属性获取对象,形式为:getElementsByAttribute(String,String,String);

用标签名获取对象,形式为:getElemenstByTagName(String);

HtmlUnit通过采用这些方法能够轻易获取到HTML对象,并将这些对象转变成可点击的链接、按钮和可操作的文本框等HTML的元素,再进行模拟操作,点击、赋值等修改属性的操作。

3 招聘系统的总体设计

3.1 系统实现目标

随着招聘渠道的不断增加,但这些渠道功能又大体相似,使得企业操作不是很方便,现存的招聘渠道已满足不了企业的需求。

本招聘系统要实现一个能够方便各企业和求职者,为他们建立一个较好的交流平台。通过此系统能够实现与其他渠道的友好连接,只要在此平台中绑定帐号,就可以很轻松地实现一键发布职位到其他各个渠道,并能够从其他各个渠道抓取候选人和职位信息,并在此系统中有所显示。

3.2 系统业务分析

本系统主要针对企业HR,大体上分为企业版和个人版;使用的角色有:系统管理员、招聘经理、招聘者和用户。不同的角色有不同的权限。

下图1主要描述了此招聘系统用户登录系统之后,可以创建职位,首次绑定渠道帐号,并一键发布到其他各个招聘渠道,也可以查阅相关的候选人信息并进行操作的业务流程图。

猜你喜欢
数据采集
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
基于开源系统的综合业务数据采集系统的开发研究