一、 课题背景和目的
社会经济快速发展和人们生活水平显著提高,但也带来了越来越多的社会问题。就
业问题尤为突出。因此,招聘信息的展示变得非常重要。但是,面对海量的招聘信息,
人们很难提取自己想要的信息,应聘者也是如此。随着网络爬虫技术的发展,如今的毕
业生们可以使用网络爬虫来获得就业形势的第一手信息。网络爬虫是一种按照一定的规
则,自动地从网站上抓取信息的程序,它可以模拟人类的浏览行为,向网站发送请求,
获取网页的源代码,然后从中提取出有用的数据,如文本、图片、链接等。爬取招聘信
息的背景,主要是为了了解不同的行业、地区、职位、薪资、技能等方面的招聘需求和
供给情况,从而为求职者和招聘者提供有价值的参考和指导。但是面对着如此多的招聘
信息,如果一条一条招聘信息地看,可能对于我们并没有什么实质性的帮助。因次,还
需要使用到一些大数据分析以及可视化的方法。所以,本次大作业的就是为了解决上述
问题而进行的一次实践。
本次大作业是为求职者提供更多的招聘信息,帮助他们找到合适的工作,了解市场
的行情和竞争,提高自己的竞争力和职业规划。通过分析网络爬虫,研究智联招聘网站、
51Job 网站、拉勾网网站数据,尝试用 Python 技术开发,尽可能多的爬取多个招聘网站
的招聘信息,使用非关系数据库 MongoDB 存储数据,并检测判断结果,最后可视化分
析,为用户提供精确的查询结果。基于 Python 的招聘网站信息爬取与数据分析实践旨
在提高数据挖掘的效率,便于科学的管理和分析招聘数据。
二、课题的需求及主要功能
爬取招聘网站的招聘信息,如智联招聘网站、51Job 网站、拉勾网网站等,根据不
同的城市、职位和页码来构造网址,使用 requests 和 BeautifulSoup 来获取和解析网页内
容,提取出工作名称、工作地点、公司名称、公司类型、薪资待遇、经验学历、标签、
福利待遇等信息,保存为 csv 文件并且使用非关系型数据库 MongoDB 存储。
分析招聘信息的数据,使用 pandas 和 numpy 等库来对数据进行清洗、处理和统计,
如去除缺失值、异常值、重复值等,并进行例如:平均薪资分析、薪资分布分析、行业
薪资分析、学历与薪资关系分析、工作经验与薪资关系分析、不同因素对薪资的影响关
系等方面通过爬虫获取到的招聘信息对这一类岗位进行分析。
可视化招聘信息的数据,使用 matplotlib、seaborn、echarts 等库来对数据进行可视
化展示,如使用柱状图、饼图、折线图、散点图、箱线图、词云图等,展示不同维度的
数据特征和趋势,如全国各城市数据分析岗平均月薪、薪资分布箱线图、不同学历要求
的平均薪资等。
最后使用已拥有的招聘信息的数据,将符合输入条件的招聘数据计算平均薪资并将
这个平均薪资作为预测值,这是对此次大数据实践的一个简单应用。
三、课题数据的收集过程及工具
首先确定爬取目标:根据数据分析的需求和目的,确定要爬取的网站和数据类型,
例如爬取某个招聘网站的职位信息。其次,分析网页结构:使用浏览器的开发者工具或
者在线网页分析工具,分析目标网站的网页结构,如网址格式、网页标签、数据位置等,
找出数据的规律和特征,为后续的数据提取做准备。接着写爬虫代码:使用 Python 或
者其他编程语言,编写爬虫代码,实现对目标网站的请求、响应、解析、提取、存储等
功能,可以使用一些现成的爬虫框架或者库,如 request 请求网页内容,BeautifulSoup4
解析网页,Selenium 等。接着运行爬虫程序,开始爬取数据,可以设置一些参数,如爬
取的深度、频率、间隔、代理、重试等,以提高爬取的效率和质量,同时避免被目标网
站的反爬措施屏蔽或封禁。检查爬取结果:检查爬取的数据是否完整、正确、有效,如
有错误或缺失,可以调整爬虫代码或参数,重新爬取,直到满足数据分析的要求。