基于网络爬虫的就业数据分析
要: 随着网络信息量的爆炸式增长,大数据时代的来临,利用网络爬虫对大数据进行分析处理有非常重要的意义。本文 以 BOSS 直聘网站为例,在 Python3.7 和 MySQL Server8.0 的基础上,设计并实现了一个关于就业信息的数据采集存储系统。 并且通过对采集到的就业数据信息做出多个方面的分析,利用这些数据分析结果为大多数人在就业选择以及未来规划的时 候提供一个有据可依的参照,起到一个指导就业的作用。
关键词: 网络爬虫; 就业信息; 数据分析; 就业指导
0 引 言
随着人工智能的概念逐步的深入展开,人工智能 因其高效性和实用性受到越来越多的重视。作为人 工智能的重要组成部分,大数据也开始在社会生产中 发挥巨大作用,同时还带动了社会生活质量的全面提 升,并提供了以往不曾有过的便利性。在国内对高等 教育改革正迈向更深层次的时候,各校的毕业生规模 也逐年增加。临近毕业时,或多或少都会存在许多迷 茫。而在招聘、应聘的过程中,互联网作为当下承载 海量招聘信息的重要载体,则给毕业生的择业提供了 一条便捷途径。只是互联网的信息检索中却会面临 许多用户并不需要的信息,只有通过人工筛选、再经 总结对比后,才能得到最终想要的信息。
1爬虫的设计
1.1 系统需求及分析 网络爬虫系统的开发是否成功取决于确保系统 能够实现用户定制功能,达到预期设计目的。因此, 在网络爬虫系统开发之前,就需要对该系统需求加 以详尽分析,从而对整体的设计有一个清晰的思路。 时下,普遍适用的爬虫系统都是模块化的,模块化的 程序设计有利于代码块的测试与维护,而且也进一 步增加了代码的适用性。在此基础上,只要对各个 模块进行组合,就能够构建出一个完整的爬虫系统。 本次研究即以 BOSS 直聘为例,开展模块化的编程 设计。因为研究旨在通过爬虫系统对当前就业做出 科学分析,故而针对此需求就要从 BOSS 直聘网站 中获取全部的岗位信息,以及从每个岗位中获得包 括各岗位名称、工作地点、薪水、公司规模性质、工作 要求在内的各种关键信息。至此,在接下来的功能、 模块设计中,就具备了较强的针对性。
1.2 爬虫模块设计
1.2.1 爬虫整体设计思路 爬虫系统的设计思路为: 首先,需要获得所有包括岗位信息网页的源码; 其次,在每一页的网页源码 中寻找出与需求相匹配的信息,此时就需要连接爬 虫系统和数据库,将每次成功匹配到的信息均存入 数据库中,直至所有网页检索完毕。在数据爬取的 整个过程中,针对 BOSS 直聘的高度反爬,还要在各 个模块中引入适当的反扒策略,以此保证数据爬取 的连续性。研究可得整体设计框架如图 1 所示
1.2.2 爬虫的网页抓取模块 网页抓取模块作为爬虫系统中最重要的部分, 也是起始的模块。但是从实际爬取的情况来看,针 对同一个 IP 在短时间内的多次爬取,会被网站屏蔽 IP 地址,因此在这里采用代理 IP 池的技术去访问。 为了避免被对方发现,还需要加入 User-Agent 将自 己伪装成代理服务器。通过构造代理 IP 池以及由 众多用户代理组成的代理池,每次随机选择访问 IP 与用户代理的搭配,据此而将自己伪装成来自不同 IP 的用户访问,大大降低了被反爬虫的概率。接下 来采用 Requsets 库 的 API 去解析当前第一层的 URL。如: resp = requests.get( url, headers = headers, proxies = proxies,timeout = 5)
2 数据分析
2.1 数据处理
通过设计好的网络爬虫系统,从 BOSS 直聘网 站上爬取了上海地区 13 万多的岗位招聘信息数据, 从招聘岗位、工资待遇、工作地点、工作要求、公司性 质这几方面的信息,对上海地区的就业数据做出研 究与分析,对广大择业人员可起到一个初步指导的 作用。 通过 Navicat Premium 将数据库导出成 Excel 文 件,在 Python 中通过 pandas 库对数据进行处理,首 先将所有的数据通过 read_excel 的 API 读取到处理 环境下,将每一列的数据分别提取出来构造出 job、 salary、requirements、situation 四个列表,通过遍历整 个 requirements,检索每一个元素的字段,可以统计 出上海市每个地区大约能够提供多少个工作岗位; 同理,用上述的方法,可以统计出上海地区提供的工 作岗位对学历的要求,以及公司规模的情况。对于 就业数据分析来说,至关重要的就是薪资分析,将提 取出来的 salary 列表,对每一个元素采用正则表达 式匹配前两个数字,也就是这份工作的薪水上下限, 求一个平均值,遍历整个列表,对薪水分布进行统 计。同时,通过定位以及包含字符段的方法,可以将 每个地区的工作以及相对应的薪水提取出来,再通 过前文对全上海各地区的工作岗位统计,对上海各 地区的平均薪资做出分析。在此基础上,各行各业 的薪资水平也能够根据各行业的岗位数以及对应的 平均薪资计算得出。
2.2 数据分析结果
随着应届毕业生的人数每年不断上升,带给社 会的就业压力也随即增大,在这种就业形势竞争激 烈的就业市场里面如何做出最佳的选择即已成为研 究的热点与焦点。
3 结束语
本文通过 Python 加上 MySQL Server 的配置,创 建了一个基于 BOSS 直聘网站的网络爬虫数据收集 分析系统,该系统能够登录到 BOSS 直聘,并获取页 面信息,分析页面中的 URL,同时对筛选构造后的 URL 再一次进行数据筛选,将用户获取到的数据存 储到数据库,在此基础上将对数据进行深层次的挖 掘,也就是运用一系列的数据分析手段,获得关于上 海各地区、各岗位的薪资待遇、招聘需求等一系列重 要信息,为广大的就业人员提供有益的借鉴与参考。
参考文献
[1]徐远超,刘江华,刘丽珍,等. 基于 Web 的网络爬虫的设计与 实现[J]. 微计算机信息,2007,23( 21) : 119-121.
[2]郭丽蓉. 基于 Python 的网络爬虫程序设计[J]. 电子技术与软件 工程,2017( 23) : 248-249.
[3]周中华,张惠然,谢江. 基于 Python 的新浪微博数据爬虫[J]. 计算机应用,2014,34( 11) : 3131-3134
作者项博良,唐淳淳,钱 前,曹健东
《基于网络爬虫的就业数据分析》
- 职称论文刊发主体资格的
- 政法论文浅析工会法主体
- 化学在初中教学中的情感
- 中学教育论文思想政治方
- 法治论文投稿法治型市场
- 杂志社论文发表浅析推动
- 新疆教育报投稿浅析学生
- 分男女招生录取的合宪性
最新优质论文
- 职称评定需要发表什么样
- 浙江师范大学学报编辑部
- 医学领域cscd期刊怎么查找
- 新闻专业有哪些职称
- 教师类职称论文一般多少
- 论文发表三步曲
- 职称晋级论文检索才认可
- 如何提供职称论文的知网
论文发表问题热点
- 毕业及职称论文发表需要
- 简述机械工程师基础考试
- 工程管理专业论文摘要准
- 博士生毕业论文答辩技巧
- 发表职称论文如何鉴别期
- 硕士从助工晋升中级职称
- 《教育探索》核心级教育
- 电力系统职称核心期刊怎