3. 解决方案:
1. 功能结构图

图4-1 系统功能结构图 2. 定义格式,编制脚本 首先,我们需要根据需要抓取的目标网站的特点,编制抓取的脚本(格式)。包括:
● 目标网站的URL路径;
● 用什么样的方法获取数据?可以用模拟查询功能的方法(手工检测查询页面提交的参数,并模拟提交);也可以通过序列号从头到尾进行遍历(需要找出当前最大的序列号值);
● 针对每个网站的特点进行编制(标准、脚本);
3. 抓取数据 系统所提供的耙子程序会根据预先定义好的XML格式执行数据抓取任务,为防止目标网站的侦测程序发现,我们建议将抓取到的页面直接保存,然后再作处理。而不是在获得信息后立即加以处理,这对于提高抓取的效率和保留第一手的资料都是非常有价值的。
● 通过定义好的脚本模拟登录;
● 对下拉列表中的查询项,用循环遍历列表中的每一个值。并对查询出结果的页面进行模拟翻页操作,获得其所有的查询结果;
● 如果职位库或企业名录库是使用自增性的整数作为其唯一标示的ID,那么我们可以想办法获得其最大值,然后通过遍历的方法将其全部抓取下来;
● 定期执行抓取操作,并对抓取到的数据进行增量保存;
4. 简单分析 在外网的服务器上对采集到的数据进行简单的分析、处理,其内容主要包括:
● 结构化数据:将获取到的数据结构化,可以便于未来的数据传递,也便于下一步的排重、排错检查任务。
● 排除重复;在用模拟查询的方法进行遍历的时候,系统所抓取到的数据一定会出现重复。由于重复数据会造成重复的分析处理过程,不但占用了系统的资源,使得系统的处理效率变低,也给系统带来大量的垃圾数据。为了避免大量重复、冗余的数据出现,我们首先要作的处理工作就是排重。
● 排除错误;由于目标站点的内容、结构、格式的调整,会造成系统抓取失败,或抓取到大量的错误信息,在排除这些误抓的信息的同时,我们通过对数据错误率的判断,可以获得目标站点是否已经变更的信息,及时向系统发出预警通知。
5. 数据传回内部 系统将处理完成的数据通过Web Service发回企业内部。唯一需要考虑的就是如何实现增量更新,否则每天大量的数据全部更新到本地数据库会造成网络的阻塞。
6. 数据分析 这里的数据分析和前面所描述的,在远端的服务器上所做分析操作不太相同,后者是为了简单、有效的过滤数据,防止数据冗余而造出的处理速度过慢或网络阻塞等问题;而前者则是为了给未来的人工确认提供方便,有效的帮助市场人员进行快速人工分拣。具体如下:
● 按照地域区分;
● 按照准确程度进行划分;帮助用户优先处理哪些有效性较高的信息;
● 按照发布职位的数量进行划分;
● 记录每一个企业所发布职位的变化过程;
7. 人工确认 这部分的重点在两个方面:1、提供友好的人机界面,让人工对这些信息进行确认;2、和英才网的职位库进行比对,将其中的差异部分提取出来,供人工确认:
通过和市场人员的交流、沟通,了解他们所关注的信息,按照他们所期望的方式提供数据,完成人工确认工作。
8. 统计汇总 汇总统计功能也是数据聚合系统的重要组成部分,该系统将提供如下类型的统计汇总功能:
● 以网站为单位,对各网站日新增的企业、职位等信息进行统计;
● 对大型企业进行跟踪,统计其在各个网站上发布的信息职位的记录;
● 以时间为单位,按日、周、月对各种信息进行统计汇总;
● 按照地域、企业、职位进行统计汇总;
● 其他;

图4-2 模拟统计汇总界面