Node.js程序员拉钩找工作的另类姿势
发布于 17 小时前 作者 LiZhenNet 269 次浏览 最后一次编辑是 1 小时前 来自 分享

最近开始学习Nodejs,学习嘛,要学以致用,看到cheerio 这个库,就打算写个爬虫,试一下。于是瞄准了拉钩。

学习过程如下:

  1. 首先我先模拟请求了拉钩NodeJs的职位列表。 发现返回的HTML 并没有职位信息,于是没用使用到cheerio来提取数据。
  2. chrome 打开了职位列表,在NetWork 中发现职位信息是AJAX 请求接口返回的,可以看到请求参数 在浏览器使用Get请求该接口发现可以正常返回数据。
  3. 于是使用superagent请求Ajax请求的接口地址,发现可以返回数据,并没有接口请求次数的限制。

发现了坑,该接口不管pn 传多少 返回的结果中pageNo和currentPageNo都为1

  1. 获取到数据后,需要存储,考虑过本地文件或者数据库,最后选择了数据库,在Mysql和MongoDB中选择,最后选择了不怎么熟悉MongoDB,顺便练习使用了比较常见的Orm–Mongooes
  2. 获得到数据后,需要展现数据,于是用Express 写了Web项目来展示数据。 用到了Echarts 来做可视化。 主要分析了,根据工作年限统计职位数,根据工作年限算出薪资的最小、最大、平均值, 按薪资排序职位,和我之前收藏的一些简历方面的知识。 image

展示一下NodeJs在北京的职位情况:

先抓取数据,QQ截图20160324114717.jpg 职位数:workyear.jpg 占比例最大的两个工作年限为: 1~3年 64个职位占了47.41% 3~5年 43个职位占了31.85% 薪资方面如下:salary.jpg 1~3年和3~5年工资相差不多, 平均工资1~3年为:11.53, 平均工资3~5年为:14.84, 平均工资5~10年最多为:21.25,

学习到了什么: Nodejs 基础,mongoose使用,Express使用,Echarts使用等等。

还有什么不足:改进异步调用,学习promise等

7 回复

大哥,给个链接看看!!!

@LiZhenNet 你这个东西抓下来之后,不是可以做成一个网页的形式放出来大家看看吗?

process.nextTick(function() { throw err; }); ^

TypeError: Cannot read property ‘forEach’ of undefined at GetJobsFromLagou-master\Lagou\routes\api.js:10:13

@alsotang 都做成ECharts可视化了,竟然不给看一下~~

@LiZhenNet 你多展示一些这回找工作爬回来的数据嘛,要是内容不错的话,我们加个精华让大家都来参考参考

回到顶部