爬取boss直聘数据,echarts展示,ES搜索引擎搜索爬取数据
爬取boss直聘数据,echarts展示,ES搜索引擎搜索爬取数据
JavaScript 可视化/图表
共11Star
详细介绍
cheerioGet
项目介绍
爬取boss直聘的数据,前后分离,前台使用vue全家桶,后台使用koa,部署使用docker
使用说明
本项目采用前后台分离,前台项目在boss,后台项目在server中
- 启动后台项目
cd server node run start
- 启动后台项目
cd boss node run dev
- 因为加了校验,暂时没写注册功能,可将 校验删除。
- 前端代码校验注释,在router/index.js将路由守卫注释
- 后端代码校验注释,在app.js jwt校验部分
关于查询连接
https://www.zhipin.com/job_detail/?query=node.js&scity=100010000&industry=&position=
- 获取首页,城市列表(全国级城市)
- 获取首页职位类型列表,包括一,二,三等数据
- 获取首页职称分类列表数据(行业)
首页搜索框页面搜索链接(四个查询条件,query:查询内容,scity:城市,industry:行业,postion:职能定位,其中query查询职能以及公司)
https://www.zhipin.com/job_detail/?query=node.js&scity=101010100&industry=&position=(搜索框加了查询内容node.js) https://www.zhipin.com/job_detail/?query=+&scity=101210100&industry=&position=100114(搜索框没加查询东西) https://www.zhipin.com/c101210100-p100114/h_101210100/?page=2&ka=page-next(点击下一页,page也跟着变,热门职业)。 https://www.zhipin.com/c101210100-p100114/h_101210100/?page=2&ka=page-next(点击下一页,page也跟着变,热门职业)。
思路
获取了三种资源(city,position,industry)之后,组装成如下链接方式,page和ka=page-next的两个分页参数暂时不管,将此链接作为一个大的并发请求,每次多个,直到city以及position全部实现完毕。
https://www.zhipin.com/job_detail/?query=&scity=101010100&industry=&position=100202
某次条件查询分页(第二页的查询条件)
https://www.zhipin.com/c101010100-p100202/h_101010100/?page=2&ka=page-2
所以我们的查询请求格式如下
'https://www.zhipin.com/c'+city+'-p'+position+'/h_'+city/?page=num&ka=page-num
- 部分页面展示
关于进程爬取部分
因为看了朴灵的《九浅一深node》,其中进程的学习收货很大,所以打算用多进程的方式去爬取数据,将爬取数据和vue端获取数据的逻辑分开, 目前也只是fork一个进程去做爬取,但是其他细节还需完善
-
0 Star
-
0 Star
-
0 Star
-
0 Star
-
0 Star
-
0 Star
-
25 Star
-
0 Star
-
0 Star