Python爬虫技术在高职计算机网络技术专业市场调研中的应用与实现
2023-01-14罗卓君徐宇星
罗卓君 徐宇星
关键词:Python;爬虫;高职计算机网络技术专业;市场调研
1项目需求
专业市场调研是保证专业教育教学与对应产业深度融合、符合相关行业需求的核心工作基础[1]。通过对高职计算机网络技术岗位群[2]的分析,主要包括网络售前技术支持、网络售后技术支持、信息安全工程师、网络管理工程师、网络工程师、网站设计师、网络系统集成工程师、数据库管理工程师、网络架构师、系统工程师十个具体岗位。计算机网络技术专业在撰写调研专业报告时通过文献调研、现场走访调研、问卷调研、网络调研等方法获得了企业所需人才的相关数据,但数据量较小,参考价值有限。
5ljob“前程无忧”是中国具有广泛影响力的人力资源服务供应商[3],国内绝大部分企事业单位都会在此网站发布招聘信息,数据较为权威。如果能获取5ljob网站上湖南省和全国的关于计算机网络技术专业岗位的相关数据,并有一个较为直观的展示,会为专业调研报告提供可靠的数据来源,对专业的培养方向、人才培养方案的制定有重要的参考价值。
本文希望通过编写一个Python爬虫系统(以下称“本系统”),爬取5ljob网站计算机网络技术专业对应十个岗位的相关数据,并对数据进行清洗和可视化处理,以获得人数需求量、薪资水平及学历要求的直观图。
2关键技术分析
2.1爬虫技术
Python中主要有urllib,urllib2,requests,aiohttp,Scrapy,pyspider等爬虫库。本系统采用requests库,此模块操作简单、功能强大且高效o requests库的核心功能是,向提供的网络地址发出请求,返回网络地址对应页面中所有信息的response对象,并将响应的数据能永久存储到文件中[4]。
2.2数据清洗技术
数据清洗是在爬虫爬取数据之后,对数据进行分析处理,根据需求保留有意义的数据,是保障最终数据有效性和正确性的重要方法。Python中主要有numpy和pandas库来实现数据清洗。本系统主要采用pandas库。pandas库能读取csv,execel,mysql等类型的存储文件,常用的数据结构主要有series和DataFrame,提供了功能强大的方法,能灵活地获取和处理存储文件中的数据[5]。
2.3数据可视化技术
数据可视化处理是在获取有效数据之后,把数据以图表的形式呈现出来,让数据具备更好的可读性。Python中matplotlib,pygal,pyecharts等库都能进行可视化处理。本系统采用的pyecharts库支持链式调用,具备高度灵活的配置项,囊括30多种常见图表,并能绘制具有一定交互功能的动态图像[6]。
3项目实现
本系统使用PyCharm作为开发工具,Python作为开发语言,主要采用requests库做爬虫、pandas库做数据清洗、pyecharts库做可视化处理,这三个库都是第三方库,需要采用pip install庫进行安装再使用。
3.1爬取与初步清洗数据
通过登录5ljob网站,搜索到地区和相关岗位的网址后,进行网站数据的爬取与初步清洗。其中有4部分关键代码。
(1)构造url,headers,params,cookies四个参数的内容。url参数是程序要爬取的地址,已知计算机网络技术专业的十个岗位,通过登录5ljob网站,搜索岗位及地区,获取十个湖南省和十个全国的岗位链接地址,构造湖南省和全国两个url地址列表;Headers参数起到模拟浏览器的作用;params参数是在访问url时携带的参数;cookies参数用于完成5ljob用户验证。
(2)使用get方法发送请求,返回response对象。具体代码如下。
response=requests. get(url,headers=headers,params=params,cookies=cookies)
(3)使用response对象的text方法获取响应对象中的数据值,同时考虑到url列表中的地址如果有页码,使用循环读取每页数据。关键代码如下。
(4)初步清洗数据,并存储数据到CSV文件。这一步首先使用了pandas模块的read_j son方法把获取的数据转成json格式,并用DataFame方法初步清洗数据,获取需要的数据信息,最后把湖南省的招聘数据存储到“zhaopin_湖南.csv”文件内,全国的招聘数据存储到“zhaopin_全国.CSV”文件内。以湖南省招聘数据为例,关键代码如下。
3.2清洗数据
在已有的csv文件的基础上,进一步清洗数据,方便进行可视化处理。其中有5部分关键代码。
(1)匹配岗位。通过re模块的compile方法来匹配岗位。以信息安全岗位为例的关键代码如下。
3.3可视化处理
数据清洗完成后,为了让数据的可读性更强,本系统使用pyecharts库对数据进行可视化处理。根据数据的特性,岗位与人数需求采用柱状图,岗位与学历要求采用饼图,岗位与薪资水平采用折线图,最终以网页的形式展示出来。其中有4部分关键代码。
(3)参数配置。参数配置根据具体的图形各有区别,但基本分为添加坐标、全局配置和系列配置三个部分。以岗位与人数需求的柱状图为例,代码如下。
通过可视化处理后,岗位与人数需求如图1所示。岗位与学历需求(由于岗位与学历是以每个岗位一张图,仅以信息安全岗位学历需求为例)如图2所示。全国岗位与薪资水平如图3所示。
4结束语
本文通过Python的爬虫模块,爬取了5ljob网站内计算机网络技术专业对应十个岗位在2021年12月的相关数据信息,并对数据进行清洗和可视化处理。通过数据结论图表,能清晰地看到每个岗位在湖南省和全国分别需要的人数、薪资水平和学历要求。本系统既为书写专业调研报告打下了重要的数据基础,还为选择专业人才培养方向和制定人才培养方案提供了重要的参考价值。通过定期重新爬取、更新数据,可持续作为计算机网络技术专业岗位数据信息的重要来源之一,稍作修改即可在其他专业进行推广应用。