最近因为学校开设课程实验的要求,我完成了一个小型的bat招聘网站内容分析系统,思路挺简单的,我就想通过爬虫把bat的招聘网站内所有的职位信息都爬取下来,然后做一个同意的管理,用户client可以通过app和系统进行交互,获取到这三个公司职位的聚合信息。后台会开启一个不断更新数据库的服务,通过这个服务,网站内的所有职位在一定的时间内都会同步到我的服务器,以保证我的数据库内容的时效性。用户可以选择关注四个技术点,以及关注的一个具体的职位,现在还没有实现职位信息变更的消息推送,不过在预期内,或许能实现吧(可能性不大)。然后我也大概做了一个简单的推荐系统,可以根据用户关注的内容推送职位要求或描述相近的职位给用户,可惜的是即使我已经训练好了模型,但是运行起来速度还是跟不上,一个推荐过程大概需要半分钟,当然这是在我的小笔记本上跑出来的速度,惭愧。推荐过程实现的思路肯定是有很多漏洞的,此前没有做过自然预言处理相关的开发,实现的时候就是简单的想,怎么把一个职位的描述信息尽可能无差错的转换为向量,在得到职位的向量之后,再利用各种聚类算法进行聚类分析(这个想法非常非常的粗糙,这里写下来只是~还不如不写,不管了)。总之实现过程没什么参考价值啊,而且最后做出来的东西也用不上,到时候拿去给老师检查的时候就当作一个噱头吧。
实现的过程中还是遇到了不少问题的,比如说怎么实现一个restful服务器?数据库的更新策略是什么?怎么完成这个推荐系统?训练的模型怎么跟随数据库中的数据变化来更新(我计算过大概更新一次模型需要半个小时)?怎么处理错误,返回错误信息?~不管最后实现的结果怎么样吧,也算是有一个不太成熟的解决办法了不是。
代码量大概就2200行吧,这个只是服务端的,我只负责服务端的实现。代码我已经开源到开源中国上了~Here如果你们感兴趣的话,欢迎fork~在实现的过程中,特别是后台采用了很多很多各种各样的包和苦,这里列一下
话说python里面好用的包还真的多诶,真是挺喜欢这们语言的,喜欢它的语法,喜欢它的各种牛逼的库,加油吧,希望自己以后能靠着自己喜欢的东西做自己喜欢的事情过自己喜欢的生活~