3s专业招聘数据可视化研究

进入毕业季,大家都开始找工作。但GIS相关的公司来校招的基本没有,所以我们现在也没别的专业那么热衷这个事情。当然也有的同学能去华为等偏IT的公司,不过那毕竟是少数。

我也会浏览下有些网站上的招聘,比如应届生上、3sNews上。我发现招聘数据都是带位置,至少公司是有个位置的,这样就可以对招聘数据进行可视化,看看其空间分布上有什么特征。我先在应届生上看,因为上面数据比较多,但后来发现其位置分为几个大城市及“其它”类,位置分得不够精细,这样不适于GIS处理。

我们知道3sNews上一直就有发布招聘信息,所以我第二反应就是去3sNews上看。我仔细检索了下,发现其招聘信息页面有47页(会变化),且每页至多15个职位,最重要的是职位信息有规律,即可以通过解析HTML节点去获取有用的信息,比如职位、公司、地点等等。这样,我先写一个程序把这些HTML抓下来,之后解析其中的节点,得到我要的招聘信息。

有了招聘信息,但是没有地点和地理坐标,还是无法在地图上显示的。所以根据招聘职位信息页面找到公司信息页面,再把公司信息页面抓下来(公司的联系信息要登录后才能查看,所以必须模拟登录网站,拿到cookie才行),同样解析HTML去获得地点。拿到地点还得地理编码,由于数据较大,使用了Google的地理编码服务。但这并不能完成全部的地理编码,因为并不是所有公司信息页面中都带有公司地址的(小编们疏忽了吗?),也并不是所有地址Google都能解析的且解析对的(可能地址的形式就不适合解析)。所以人肉编码还是必须的,其工作了大概占了30%。Google的地理编码服务一天只能请求2500次,而且请求频率太快似乎也会受限。

解析完数据之后,那就好办了,找一个API,当做本地资源读取显示即可。目前实现了聚簇图和热点图的效果,用的是Esri  Silverlight API。热点图我自己刚研究过,聚簇图没深入了解,但发现有一个缺点:例如我设了最大Flare数目为12,但像Esri中国这样的大公司,职位就有23个,那地图即使放大到最大,还是23个Graphic聚在一起的,而没有Flare的效果。或许聚簇本身就不适合这种数据的显示(各个点的数据量相差太多)?不过我觉得是可以改进的,比如当在一个点的Graphic数目超过最大Flare数目(12)之后,可以将这些Graphic分散开来,以原先的位置为圆心,均分Graphic,对称的放在圆周上。主要是要计算下如何均分这些Graphic,以及新位置的确定。

MapTip 中的条目有些是有超链接的,当然是导向3sNews的。

从这个可视化结果来看,3s专业的招聘大多都是在北京,接下去是武广,很奇怪的是沪宁竟然没有一家公司在上面放招聘。本研究只是从空间视角去看待招聘信息,可供找工作参考,但并不全面哦。因为3sNews也只是部分资料,肯定不能反映真实的情况,但行业里面应该没有比这里更全面的了。

有几张截图:

可以去这里访问:http://hmfly.info/pubs/gisrecruit/index.html

最后,我感觉这个可视化做的有点像我一年多前翻译及写的那篇如何做GIS项目的小文,也算是自己想法的一个延续吧。

分享到: