拿好这段代码,愿你求职路上不再迷茫

解答思路

我一直提倡的是 学以致用,知行合一,所以当我们学习和储备技能的时候应该要和市场相结合,准确的说应该是人才市场。

要了解人才市场有个非常简单的方法——招聘网站。我们上招聘网站搜一搜,看看企业在招聘的时候都有哪些技能需求就一目了然了。

可问题就是数据那么多,如果只抽取部分做参考不够准确,一个个去看又效率太低。

我觉得身为开发人员最大的优势就是 可以用代码等技术手段定制所需的工具。所以我们只需要写一段爬虫代码,把招聘网站上的数据“同步”到数据库,然后进行统计分析,就可以进行有的放矢地学习了。先看一下统计分析结果:

动手实践

以个人比较喜欢的某招聘网站为例。

网页分析

搜索“前端”,人往高处看齐,我们添加一个过滤条件“25k-50k”,看看市场对高级前端的要求。同时按下F12打开调试,发现这里发送了ajax请求(凡事有利有弊,前后端分离虽然开发效率提高了,但同时也为爬虫程序降低了难度)。

补充一下:一般分两种情况:json数据和html页面,本文两种情况皆有涉及。

通过列表我们只能知道公司和职位,点击链接跳转到详情页看到我们想要的信息:岗位职责和要求。

这里没有看到ajax请求,应该是后端利用模板直接生成的静态页面,所以需要解析html,会略微麻烦一些。

编写代码

整个编码的思路变得很清晰了:

1.分页查询职位列表

用request模块发送get请求,获取json数据,然后按照id查询html。

2.按职位查询详情并入库

用jsdom模块对获取的html进行dom解析,这个模块很容易上手,可用jquery语法。

将解析的数据过滤,保留岗位职责和要求信息,利用mongoose保存至数据库。

3.从数据库中查询结果

查询统计各技能占比。结果如开头截图所示。

觉得文章有用的,关注一下微信公众号:zhiheguoqiang

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 124,680评论 18 136
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 161,708评论 24 692
  • 第一天,从6月13日起,每天更新八回,希望自己能坚持。 上大学以来,我一直喜欢在周末时,带上换洗衣服、轻装简从去市...
    半夜楼主阅读 127评论 0 1
  • 心累了,就让它歇一歇,歇够了就再一次出发,不过我差点就回不来了! 每个人都会有这样一种时刻,不知道具体是因为什么,...
    森林樱果阅读 227评论 0 1
  • 喧嚣的城市 悄悄躲进落日的余辉 用渐进的黑暗 掩饰最后的疲惫 我一个人走到屋顶 找寻片刻的宁静 屋顶上也有很多人 ...
    爱上一叶浮萍阅读 111评论 9 15
  • 也许你的确不再喜欢我了,我早已认清这一点了,但是我依然无法放弃,之前我喜欢那个人一直是默默无声的,所以喜欢了5年,...
    心甘阅读 145评论 0 0
  • Live Photos 是 iOS 9 的一个新特性,它提供相对于传统照片更生动的展现方式。当用户按下拍照键的时候...
    SwiftCafe阅读 798评论 0 7