Node.js程序员拉钩找工作的另类姿势
最近开始学习Nodejs,学习嘛,要学以致用,看到cheerio 这个库,就打算写个爬虫,试一下。于是瞄准了拉钩。
学习过程如下:
- 首先我先模拟请求了拉钩NodeJs的职位列表。 发现返回的HTML 并没有职位信息,于是没用使用到cheerio来提取数据。
- chrome 打开了职位列表,在NetWork 中发现职位信息是AJAX 请求接口返回的,可以看到请求参数 在浏览器使用Get请求该接口发现可以正常返回数据。
- 于是使用superagent请求Ajax请求的接口地址,发现可以返回数据,并没有接口请求次数的限制。
发现了坑,该接口不管pn 传多少 返回的结果中pageNo和currentPageNo都为1
- 获取到数据后,需要存储,考虑过本地文件或者数据库,最后选择了数据库,在Mysql和MongoDB中选择,最后选择了不怎么熟悉MongoDB,顺便练习使用了比较常见的Orm–Mongooes
- 获得到数据后,需要展现数据,于是用Express 写了Web项目来展示数据。 用到了Echarts 来做可视化。 主要分析了,根据工作年限统计职位数,根据工作年限算出薪资的最小、最大、平均值, 按薪资排序职位,和我之前收藏的一些简历方面的知识。
展示一下NodeJs在北京的职位情况:
先抓取数据, 职位数: 占比例最大的两个工作年限为: 1~3年 64个职位占了47.41% 3~5年 43个职位占了31.85% 薪资方面如下: 1~3年和3~5年工资相差不多, 平均工资1~3年为:11.53, 平均工资3~5年为:14.84, 平均工资5~10年最多为:21.25,