当前位置: 首页 > news >正文

高端网站的建设做网站要服务器和什么软件

高端网站的建设,做网站要服务器和什么软件,嘉定专业网站建设,青海网站建设费用摘要#xff1a;现在#xff0c;随着互联网网络的飞速发展#xff0c;人们获取信息的最重要来源也由报纸、电视转变为了互联网。互联网的广泛应用使网络的数据量呈指数增长#xff0c;让人们得到了更新、更完整的海量信息的同时#xff0c;也使得人们在提取自己最想要的信…摘要现在随着互联网网络的飞速发展人们获取信息的最重要来源也由报纸、电视转变为了互联网。互联网的广泛应用使网络的数据量呈指数增长让人们得到了更新、更完整的海量信息的同时也使得人们在提取自己最想要的信息过滤掉对自己无用的信息时变得不那么容易对于应聘者也是如此。由于招聘网站的日益流行也使得应聘网站成为了应聘者找工作的主要平台。在面对着大量的招聘信息时就业者不能一目了然的获取自己想要的招聘信息因此我们需要对海量的招聘数据进行处理做出一种招聘信息的分析系统。在此基础上本文介绍了基于Python的招聘网站的爬虫及可视化的设计与分析过程中的技术线路。 本招聘网站的爬虫及可视化使用Python语言编写使用基于Flask的轻量级Web应用框架数据库使用MySQL使用ECharts进行数据可视化部分的显示。对数据的爬取使用的Requests进行爬取数据本次爬取的招聘网站为拉勾网搜索关键词为Java、Python、Php的招聘信息拉勾网具有较强的反爬虫机制采用Cookie形式进行封装再进行数据的获取。在MySQL数据库中存储爬取的招聘信息用Pymysql包连接MySQL数据库将查询的数据使用ECharts框架展示到网页。 通过本系统可以用户可以了解到职位的信息概况、薪资分布情况、企业主要招聘城市情况和企业的规模分布、职位的福利待遇和对应聘者的学历要求工作经验的要求。 关键词Python爬虫数据可视化招聘网站 引 言 随着互联网的不断发展网络招聘也更加普遍。招聘网站能使招聘者随时随地了解到招聘信息同时提高企业招聘的速度。但是面对着大量的招聘信息应聘者难以在很快的时间内找到适合自己的岗位做出适合自己选择也不能根据这些信息直观的看到应聘者比较关心的薪资状况分布企业的主要招聘城市公司福利和所要求的学历与经验等方面。因此当下需要一个能够把招聘信息整合到一起并将信息可视化显示的系统这样用户就可以通过该平台来进行查看招聘信息的薪资分布企业福利所在城市等从而使求职者可以更快找到心仪的工作。 目前基于网络爬虫的招聘职位可视化系统在国内外比较少见有提供该平台的搜索引擎如百度、谷歌等。但是因为招聘网站的招聘信息不能够随意转载并不能获取到全面的招聘信息且做不到可视化的效果。因此基于Python的招聘信息的爬虫及可视化系统还没有比较成功的案例。 所以本文通过对拉钩网Java、Python、Php相关岗位的公司名称、招聘城市、岗位名称、薪资待遇等进行爬取然后将招聘信息存入数据库使用ECharts可视化图表将招聘信息以柱状图、折线图等形式展现出来供用户个性化的获取信息。让计算机相关专业应聘者根据自身优势有选择性的应聘岗位。为广大的社会择业人员和初入社会的应届毕业生提供就业和学习的指导方向。 第1章 课题概述 由于近些年互联网的飞速发展我们所生活的世界正在被数据所淹没人们面对大量的数据需要从大量数据中快速地提取有效的自己需要的信息。对于求职者来说当查看招聘信息时也是这样面对招聘网站展示的大量的职位信息应聘者难以及时选出自己最想要的职位信息又或者筛选出信息后不能直观地看到招聘所有信息的特征、规律、变化的趋势或者数据之间潜在联系。我们可以借助计算机技术来进行自动获取筛选分析自己想要的职位信息。本文对于基于Python的招聘网站的爬虫及可视化的课题研究就显得尤为重要了。 1.1 课题内容 该课题研究的是一种基于Python的招聘网站的爬虫及可视化的系统。在开发过程中利用Python对招聘信息进行收集和分析。首先在拉钩网站上爬取招聘信息然后存入数据库连接数据库将数据库中的招聘信息从地区、行业、专业、公司规模、要求经验、薪资待遇等维度进行数据分析。最后利用ECharts可视化技术将有效的数据展示给用户。 1.2 课题背景 近年来随着我国计算机水平的发展计算机行业的热门高校也都相继开设了相关课程越来越多的计算机人才涌入社会但市场中的一众岗位让人眼花缭乱同时众多拥有丰富从业经验的从业者名牌大学与普通院校毕业生共同竞争致使很多社会中的求职者面临着就业的困扰而如今的招聘网站信息多想要获取有效的信息需要的时间太长。为了解决社会二次择业人员和高校应届毕业生获取符合自己的并符合自己意向的招聘岗位信息利用Python对这些招聘信息进行收集和分析势在必行。所以需要一种能够具有分析岗位优势薪资分布等的系统可供求职者利用自身优势分析岗位信息从而尽快找到心仪的岗位。 通过综合运用互联网数据爬虫技术和图表可视化库对招聘网站的招聘信息进行爬取并进行了相关统计分析从地区、行业、薪酬、经验、岗位素质等方面进行综合分析。从而帮助计算机行业想从事Java、Python、Php相关岗位的就业人员了解相关领域的岗位需求和薪资情况、企业招聘城市、招聘企业的规模和学历与工作经验要求等。从而为就业人员的快速选择岗位在何处选择岗位提供参考对未来的生活和工作、学习规划等明确方向。 1.3 课题意义 对于即将毕业找工作的应届生和社会择业人员来说上网快速找到合适的工作无疑是急需的。而如今的招聘网站信息多面对着网上形形色色的招聘网站和参差不齐的招聘信息想要获取有效的信息需要的时间太长这给就业者根据自身的情况选择自己适合的职业带来了困难。针对以上不足有必要通过爬虫技术帮助求职者在杂乱无序的数据中寻找有用的数据科学分析缩短求职者找工作的时间成本帮助求职者快速择业。 本系统爬取了拉勾网站的计算机语言相关多种招聘信息同学们可以通过选择本身应对的学历和想要的招聘岗位来选择查看相应的招聘信息。同时将这些信息可视化可以方便同学们快速了解公司需求情况这些可视化的部分包括薪资情况企业情况公司福利情况和学历情况。 1.4 运行环境 开发环境Pycharm 开发语言PythonJavaScript SQL 后台数据库MySQL 开发环境运行平台Windows 7/Windows10 1.5 相关技术 本项目是使用Python语言开发编写。使用request包进行对招聘网站的数据爬取用Pysql连接数据库获取数据使用Flask框架将数据返回给前端用ECharts对数据进行可视化展示使用Jieba分词将语句分开。 1.5.1 Python语言 Python是由其他多种语言发展而来的脚本语言。Python具有很强的可读性比其他语言更容易上手并跳过了编译的过程不需要使用编译器。Python语言是交互式的我们可以直接运行代码。Python支持面向对象的风格或者将代码封装在对象的编程技术是一种面向对象的语言。Python语言非常适合新手学习因此作为计算机学生在步入大学后专业课程开设的第一门课就是计算机导论——以Python为舟可见Python对于初级程序员来说是一种伟大的语言。 爬虫一般来说就是进行网络资源抓取因为Python脚本特性Python容易配置对字符处理十分灵活Python有着丰富网络抓取模板让两者可以很好的链接在一起。对比其他静态编程语言来说Python抓取网页文档接口更加简洁。抓住网页有时候需要模拟浏览器的行为而Python具有很多第三方包。 1.5.2 Flask框架 Flask是一种使用Python开发的Web框架可以说是以Werkzeug和Jinja2模板为核心。Flask相当于一个内核是一个非常简单的框架且易于扩展。 Flask调用视图函数后会将视图函数的返回值作为响应的内容返回给客户端。一般情况下响应内容主要是字符串和状态码。当客户端需要访问信息时通常通过浏览器发起HTTP请求。Werkzeug预处理接收的HTT请求进行路由分发根据URL请求找到具体的视图函数。Flask框架处理接收的请求在Flask中通常是用Flask程序实例的Route装饰器来实现路由。调用视图函数获取响应数据后把数据传入HTML模板文件中使用Jinja2模板渲染响应数据然后由Flask返回响应数据给浏览器最后浏览器处理返回的结果显示给客户端Flask请求响应图如图1-1所示。 图1-1 Flask请求响应 1.5.3 ECharts图表库 ECharts是一款使用JavaScript实现的开源的数据可视化图表库可以提供直观的可交互的数据可视化图表。本招聘网站的爬虫及可视化系统使用ECharts做出薪资待遇的柱状图和饼图、折线图的分布展示公司分布所在城市的饼状图展示公司规模状况的柱状图和折线图的展示对学历和工作经验要求的条状图和矩形树图的展示。ECharts通常数据设置在SetOption中如果我们需要异步加载数据可以配合 JQuery等工具在异步获取数据后通过SetOption填入数据和配置项就行。 1.5.4 Jieba库 Jieba库是一款Python的第三方中文分词库Jieba支持三种分词模式精确模式、全模式和搜索引擎模式。精确模式是将语句最精确的切分这样不存在冗余数据可以做文本分析。全模式是将语句中所有可能是词的词语都切分出来速度很快但是存在冗余数据。搜索引擎模式是在精确模式的基础上对长词再次进行切分。 1.5.5 Pysql包 Pysql具有历史完成和行编辑等功能。具有高级功能搜索表索引计数说明计划会话列表等为屏幕和文件提供适当的输出CSV可以包含在电子表格中支持用户定义的SQL后台查询模式数据模型对象依赖项PL / SQL包函数调用树的图形输出等等。在可视化需要数据连接查询后台数据库时需要使用Pysql包进行连接。 1.6 本章小结 本章主要介绍招聘信息的爬虫及可视化在设计时所使用的软件Pycharm和Mysql以及平台背景和介绍本次毕业设计所涉及到的一些技术和技术的相关内容并且阐述了课题意义讨论了课题背景。为后面的招聘网站的爬虫与可视化系统的设计部分以及系统实现部分打下了坚实的理论基础。 第2章 系统设计 本招聘网站的爬虫及可视化系统使用的是Python语言编写采用基于Flask的轻量级Web应用框架招聘信息的存储数据库采用MySQL设计使用ECharts进行招聘信息的数据可视化显示。 2.1 设计思想 首先使用Request爬取拉勾网网页分析拉钩网网页将内容进行解析后将招聘信息写入数据库当我们需要查询信息时需要连接数据库将信息查询后读取并写入字典使用ECharts框架将数据传输到前端网页以饼状图柱状图折线图等形式展示让用户直观的看到招聘信息的地域薪资待遇等分布让用户直观的获取到最关心的招聘信息。 2.2 需求分析 随着互联网时代的不断发展各行各业的数据都呈现极为夸张的增长态势面对毕业找工作网上有形形色色的招聘网站招聘信息也参差不齐这给毕业生和二次择业人员如何根据自身情况选择自己适合的职业带来了困难。 本人想设计一个网站爬取招聘网站的有关Java、Python、Php这三种语言相关职位的信息然后将这些信息综合方便同学们可以通过选择学历和想要的招聘职位来选择查看相应招聘信息。同时将这些信息可视化方便同学们快速了解公司需求情况可视化的部分包括薪资情况企业情况公司福利情况和学历情况。此系统的主要功能需求如下 1数据概况 爬取的所有有关Java、Python、Php语言的岗位招聘数据都可以看到也可以通过学历和职位来选择查看满足条件的招聘信息可以选择学历要求、输入职位来搜索更加精准的职位。 2可视化 薪资情况通过选择学历来查看各种岗位对于不同学历的薪资可视化情况以柱状图、饼图的形式来展示各种职位的薪资分布、所占比例提供给用户在找工作是作为参考。 企业情况通过选择职位可以来查看这个职位的主要招聘城市还可以大概查看一下这个职位的公司规模情况以及每个职位在各个主要城市所占的比例饼图。 福利情况通过数据可视化速览公司福利基于词云进行构造可以清晰看出所有公司给出的最核心的福利待遇。 学历情况可以查看各个职位对学历以及工作经验的要求以条形图、矩形树的形式进行可视化展示。 2.3 系统可行性分析 对于本系统可行性的分析主要从与系统开发和实际生活息息相关的技术、经济、社会三方面进行分析。 1技术可行性 对于技术可行性首先要想到如何运用当前的技术手段可以成功地完成系统开发设计的工作还要考虑设施以及配置能否契合开发的需要等。本次要开发的招聘数据采集分析网站系统用的是Python开发语言容易编写,可以直接在服务器上执行端口。并且使用Pycharm可以快速创建项目。在软件方面由于使用B/S模型的相对成熟的开发软件,所以软件开发平台的可行性。并且ECharts图表库也已非常成熟且完善所以其技术可行性非常之高。 2经济可行性 Python是一款开源免费的脚本语言Pycharm开发环境也有免费的社区版而且ECharts也是一款优秀的开源的图表。因此开发成本几乎可以忽略不计因此经济可行性非常高。 3社会可行性 本系统的开发符合国家法律进行也不会触犯到任何人任何集体的法律权益。只要开发过程中遵纪守法就完全符合法律要求并且使用计算机的用户都会具有一定的计算机基础并且本系统操作方法简单分析的均为计算机相关方面的岗位信息用户群体也都是计算机方面的人才所以用户绝对能够熟练使用该系统并且普通会使用计算机的人群也能使用。因此社会可行性很高。 2.4 功能设计 本项目要对系统功能结构进行设计、系统功能模块爬取网站信息及存入数据库和数据可视化设计、画出系统完整的流程图。 2.4.1系统功能结构 该系统实现了数据的概览薪资情况企业情况福利情况学历情况及薪资预测的可视化。系统功能层次图如图2-1所示。 图2-1 系统功能层次图 2.4.2系统功能模块设计 本程序使用Python语言编写使用的是Flask轻量级Web应用框架数据库采用MySQL设计使用百度开发的开源的ECharts图表库进行数据的可视化显示。招聘信息数据的爬取使用Requests进行爬取的招聘网站为拉勾网拉勾网有较强的反爬机制所以采用Cookie的形式进行封装再进行数据获取。获取的招聘信息数据存储到MySQL数据库然后使用Pymysql包连接MySQL将查询的数据展示到页面。系统提供了如下功能 1数据爬取功能 程序模拟浏览器访问招聘网站信息获取响应Json提取其中招聘岗位的所有数据并将这些招聘数据进行存储。系统爬取流程图如图2-2所示。 图2-2 招聘信息爬取流程图 数据展示概况 可以通过学历和职位来选择查看满足条件的招聘信息可以选择学历要求、输入职位来搜索更加精准的职位。 3数据可视化 通过连接数据处理获取职位信息后将职位信息传输到ECharts前端框架里。 在前端网站框架里放入连接数据后的ECharts将各种相关职位的薪资分布情况以柱状图、饼图的形式来展示。 将相关职位的主要招聘城市以所占的比例饼图形式展现将公司企业的规模分布以折线图柱状图的形式展示。 通过数据可视化基于词云进行构造生成公司福利词云和职位福利词云展示所有公司给出的最核心的福利待遇。 可视化展现各种岗位对于不同学历和不同经验的薪资情况以柱状图、矩形树的形式进行可视化展示。 2.4.3系统流程图 用户登入系统后通过连接数据库对招聘信息进行获取将信息传输到ECharts图表里对三种语言相关岗位招聘信息进行可视化的展示。可视化展示流程图如图2-3所示。 图2-3 可视化展示流程图 2.5 数据库设计 数据库存储爬取的所有招聘信息数据。在MySQL里创建招聘信息表存储爬取的招聘公司的全称招聘职位名称职位福利薪资学历要求所在城市等信息。 当可视化界面展示数据时查询数据中所有的相关招聘信息。招聘信息数据表如表2-1所示。 表2-1 招聘信息数据表 字段名 数据类型 备注 companyFullName Text 公司全称 companyShortName Text 公司简称 companySize Text 公司规模 financeStage Text 融资阶段 district Text 区域 positionName Text 职位名称 workYear Text 工作经验 education Text 学历 salary Text 薪资 positionAdvantage Text 职位福利 industryField Text 经营范围 firstType Text 职位类型 companyLabelList Text 公司福利 secondType Text 第二职位 city Text 城市 2.6 本章小结 本章对基于Python的招聘网站的爬虫及可视化系统进行了设计思想的阐述表述了招聘网站可视化的需求分析。对系统可行性进行分析包括技术、经济、社会。以及详细的功能设计包括系统功能结构设计、系统功能模块爬取网站信息及存入数据库和数据可视化的设计、系统完整流程图。最后介绍了数据库创建的表及其属性。为接下来的招聘网站的爬虫及可视化的详细实现打下基础。 第3章 系统实现 本章在前文对于本招聘信息爬虫及可视化系统的需求分析以及详细的爬取流程分析和数据可视化分析的基础上对数据可视化系统的实现做出详细的介绍。对岗位信息的爬取的技术讲解和部分代码、数据处理、数据库功能实现以及ECharts可视化进行详细介绍。 3.1 岗位信息爬取模块设计 通过浏览器搜索拉勾网在拉勾网站点击鼠标右键的检查功能查看招聘信息的源代码分析网页拉勾网的职位信息是通过Ajax动态加载的由于拉勾网反爬机制我们并不能通过爬虫在爬取的源代码里获取职位的相关信息所以我们在检查功能的Network里点击XHR查看标头。在爬取数据的过程中从指定的url中通过Requests请求携带标头里的请求标头和表单数据模拟浏览器访问网页获取网页中的JSON信息。 对招聘信息的获取使用Requests进行爬取拉勾网的招聘岗位信息由于拉勾网的反爬机制所以采用Cookie的形式进行封装再进行数据获取。数据爬取的部分过程,代码如下 #创建session会话 s requests.Session() #模拟浏览器发送请求 s.get(urlurl1, headersheaders, timeout3) #获取cookie cookie s.cookies #发送post请求 res requests.post(url, headersheaders, datadata, cookiescookie, timeout3) #检查请求是否成功 res.raise_for_status() #设置可接收的编码为utf-8 res.encoding utf-8 #请求响应结果 page_data res.json() 访问拉钩网站登录需要Cookie将Cookie保存在Session里。创建Session连接获取服务器的响应结果。获取响应如图3-1所示。 图3-1 获取响应 通过分析网页源代码可以看到浏览器发送的请求得到的响应从JSON里可以读取总职位数TotalCount代码如下 first_page get_json(url, 1) total_page_count first_page[content][positionResult][totalCount]#获取json里的总相关职位数 num get_page_num(total_page_count)#算出爬取的页数 通过从浏览器上登录拉钩网站可以看到拉钩网的招聘信息每页显示15个职位最多可以显示30页所以最多能爬取30页信息。爬取总页数的代码如下 def get_page_num(count): page_num math.ceil(count / 15)#总职位数除以每页的招聘岗位15个 if page_num 30: return 30#如果页码超过30只返回三十页码职位 else: return page_num#如果页码不超过30页那么返回爬取的总页码数 将页数循环访问并获取响应JSON里职位相关的内容最后将职位信息汇总到总列表total_info中因为拉钩网站的反爬机制所以每次爬取一页数据后都需要都需要暂停一段时间后再继续爬去获取职位信息代码如下 total_info [] time.sleep(10) for num in range(1, num 1): # 获取每一页的职位相关的信息 page_data get_json(url, num) # 获取响应json jobs_list page_data[content][positionResult][result] # 获取每页的所有相关的职位信息 page_info get_page_info(jobs_list)#将每页的职位信息写入列表 for item in page_info: print(item) total_info page_info print(已经爬取到第{}页职位总数为{}.format(num, len(total_info))) time.sleep(20) 将网站每页的岗位信息从响应的Json里获取的职位信息显示出来职位信息列表如图3-2所示。 图3-2职位信息列表 爬取所有数据看看有没有之前已存入的信息如果没有再写入这样可以筛选之前爬取过的重复的岗位招聘信息或者不同语言关键词同时能搜索到的相同岗位信息更新数据表代码如下 def unique(old_list): newList [] for x in old_list: if x not in newList : newList.append(x) return newList 3.2 数据库的连接及使用 爬取的所有职位信息都需要存入数据库每次对数据化进行可视化展示时连接并查询数据库里相关的职位信息。 3.2.1连接数据库 在MySQL中用创建数据库表将爬取后的获取的数据保存到数据库。每次可视化的展示都需要连接数据库获取相关的信息获取列表里的所有相关信息后就要关闭连接代码如下 conn pymysql.connect(hostlocalhost, userroot, password123456, port3366, dblagou,charsetutf8mb4)#建立数据库连接 cursor conn.cursor()#中间是查询所需要的各种招聘信息 count cursor.fetchall()#取消连接 3.2.2 数据概览数据库查询 在可视化过程中我们需要载入数据而这些数据保存在MySQL数据库里所以就要用Pymysql包连接MySQL数据库并在MySQL数据库中查询相关信息列遍历并写入列表然后关闭连接。 数据概况的内容是从数据库中查询所有职位信息遍历数据表信息并存放至列表代码如下 cursor.execute(select count(*) from demo); count cursor.fetchall() cursor conn.cursor(cursorpymysql.cursors.DictCursor) #返回字典(dict)表示的记录就要cursorclass参数设为MySQLdb.cursors.DictCursor类。 cursor.execute(select * from demo limit str(page),str(limit)); data_dict [] result cursor.fetchall() for field in result: data_dict.append(field) 3.2.3学历情况数据库查询 学历情况的部分分别展示的是招聘企业对学历的要求还有对工作经验的要求的数据。学历的要求是从数据库中查询所有的学历类别并返回所有结果循环这些学历每次都查询并返回所有招聘职位需求学历的结果对工作要求的数据也是这样的方法进行查询。代码如下 cursor.execute(SELECT DISTINCT(education) from demo); result cursor.fetchall() education [] education_data [] color_list [#459AF0,#38C3B0,#86CA5A,#BFD44F] for field in result: education.append(field[0]) for i in range(len(education)): cursor.execute(SELECT count(*) from demo where education education[i] ); count cursor.fetchall() education_data.append({value: count[0][0],itemStyle: {color: color_list[i]}}) 学历类型与每个学历类型的招聘岗位数以及工作经验类型与招聘岗位数学历情况数据如图3-3所示。 图3-3 学历情况 3.2.4企业情况数据库查询 企业情况展示了主要招聘城市和企业规模两种数据。主要招聘城市是在数据库中查询招聘的城市City列并叠加每个招聘城市所招聘的岗位数企业所在城市的分布由于爬取的是全国的招聘数据所以招聘城市过多全部在饼图中展示的话会看不清内容所以将饼状图只显示前7个城市的招聘比例和招聘企业的个数企业规模的数据是循环公司规模查询数据库中所有公司规模将属于哪种公司规模的公司加入列表。部分代码如下 for i in city: #查询各城市招聘人数 cursor.execute(SELECT count(*) from demo where city i ); count cursor.fetchall() #value:招聘人数, name: 城市名 dict {value: count[0][0], name: i} city_result.append(dict) for i in city[7:]: #设置七名以后的城市不显示 selected[i] False 以下是企业各招聘城市及招聘城市招聘岗位数各招聘公司规模的公司数执行数据库结果企业情况数据如图3-4所示。 图3-4 薪资情况数据 3.2.5薪资情况数据库查询 薪资情况的部分分别查询数据库的工作薪资Salary是属于10k以下的Java岗位Python岗位还是Php岗位并遍历数据库。然后依次分别查询数据库其他薪资范畴10k到20k的、20k到30k的、30k到40k的、40k以上的三种语言相关的岗位信息主要代码如下 for i in positionName: #此处查询的就是20k到30k薪资的分别有关Java、Python、Php的岗位信息 cursor.execute(SELECT COUNT(*) FROM demo WHERE SUBSTR(salary,1,2) BETWEEN 20 AND 30 and positionName like %i%;); #接收全部数据库结果信息 count cursor.fetchall() #依次加入列表 temp_list count[0] 3.3 数据可视化设计 ECharts显示图表柱状图、折线图将从数据库中提取的数据传输到ECharts框架里在前端界面展示出来ECharts是JavaStript语言可以将后端的数据传输至ECharts框架里以图表形式展现出来。 3.3.1福利词云设计 福利待遇部分是将查询的数据库的福利内容列所有福利待遇加入列表使用Jieba分词设置停止词并提取主题词返回权重最大的前100个词。然后以词云形式展现在前端可视化界面。代码如下 positionAdvantage [] #设置停止词 jieba.analyse.set_stop_words(./stopwords.txt) tags jieba.analyse.extract_tags(content, topK100, withWeightTrue) #提取主题词content要分词的语句 # topk: 返回的是权重最大的前100个词 #withWeightTrue返回关键词的权重值 for v, n in tags: mydict {} mydict[name] v mydict[value] str(int(n * 10000)) positionAdvantage.append(mydict) 查询的职位福利情况和公司福利情况的数据从数据库得出结果福利情况数据如图3-5所示。 图3-5 福利情况数据 公司福利与职位福利可以通过ECharts在前端网页可视化展示出来。公司福利与职位福利的词云图如图3-6所示。 图3-6 词云图 3.3.2柱状图和折线图 柱状图通过ECharts显示后端的数据以Json形式传输至ECharts图表里可以动态切换柱状图与折线图并且鼠标点到相应位置会显示柱状图或者条形图的数据信息。 柱状图或条形图可以切换为数据视图保存图片实现柱状图与条形图之间的动态切换部分代码如下 dataView: { //数据视图 show: true }, saveAsImage: { //保存图片 show: true }, //动态类型切换可切换柱状图与饼图 magicType: { type: [bar, line] 鼠标触碰可以触发显示相关的招聘数据下面是将Json数据传输至ECharts里的公司规模和公司规模结果的代码写出数值轴类型和类目轴类型柱状图或是折线图类型其他学历情况和薪资待遇的柱状图和折线图的数据展示也是如此。代码如下 xAxis: { #类目轴 type: category, #此处放从数据库查询出来的公司规模大小的内容在x轴下方展示 data: res.companySize }, yAxis: { #数值轴 type: value }, series: [{ #此处是公司规模大小的结果 data: res.companySizeResult, type: line }] 柱状图和折线图之间的相互转换可以动态实现例如薪资待遇情况和公司规模的柱状图也可以通过用户点击进行动态切换成折线图或者数据公司规模情况的柱状图如图3-7所示。 图3-7 柱状图 3.3.3矩形树图 将数据传输至ECharts里后将数据以树图的形式展示出来矩形树图的类型为Treemap设置树图属性以及设置树图中的文本样式。代码如下 data res.workYear_data for(var n in data) { data[n][name] data[n][name] data[n][value] } 对工作经验的要求统计分布用ECharts以矩形树图的形式展示在前端界面。关于工作经验的矩形树图如图3-8所示。 图3-8 矩形树图 3.3.4饼图 企业所在城市的分布由于爬取的是全国的招聘数据所以招聘城市过多全部展示不够美观所以饼状图只显示前7个城市的招聘比例和招聘企业的个数如果想要其他招聘城市的招聘信息只需要点击城市即可在饼状图中显示部分代码如下 legend: { orient: vertical, left: left, data: res.city, #只显示前七个城市 selected: res.selected }, 用ECharts可视化显示岗位的主要招聘城市前七个城市及其岗位数的饼状图分布并点击城市可以在饼图中添加此城市的招聘岗位数及占比。饼状图如图3-9所示。 图3-9 饼状图 3.4可视化展示 通过对招聘数据的可视化展示可以让用户直观看到招聘信息的薪资情况招聘城市岗位福利等情况信息从而分析自己想要去的城市和想工作的岗位以及工作岗位的要求对自己的职业规划指明方向。 3.4.1数据概况 通过爬取的Java、Python、Php三种相关信息的招聘岗位信息可以查看数据库里的全部职位列表也可以输入学历与关键字根据用户需求个性化显示招聘信息用户也可以选择性查看岗位的部分信息搜索查询招聘信息如图3-10所示。 图3-10 搜索查询招聘信息 3.4.2薪资情况 爬取的全国的Java、Python、Php语言的招聘岗位统计后通过使用ECharts图表展示的柱状图和饼状图可以看出这三种类型的薪资主要的分布在10k到20k之间不同语言的岗位薪资分布差别不大计算机相关岗位还是有很好的前景的。薪资情况如图3-11所示。 图3-11 薪资状况 薪资状况的柱状图可以切换为折线图鼠标触发事件会显示薪资分布统计所招聘的人数薪资状况的折线图与数据视图如图3-12所示。 图3-12 薪资状况折线图与数据视图 3.4.3企业情况 根据招聘岗位所在城市信息可以看到北京、上海、深圳、广州这些城市招聘的岗位较多招聘公司的规模分布也很平均但50-150人规模的人数占比最多也可以选择其他城市查看招聘岗位个数根据自己的意向城市和各城市招聘比例个性化选择岗位企业分布饼图、公司规模柱状图如图3-13所示。 图3-13 企业分布饼图、公司规模柱状图 3.4.4福利情况 根据福利的词云分析可以看到各大公司对于职位福利和公司福利方面着重将五险一金、带薪休假、绩效奖金等来吸引人才福利情况词云图可以直观看到大部分岗位及公司的待遇。福利情况如图3-14所示。 图3-14 福利情况 3.4.5学历情况 根据学历情况的分析可以看到招本科及以上学历的岗位最多远高于其他学历招聘对于工作经验要求的矩形树图可以看出要求其工作经验一般为3到5年其次工作经验要求1到3年但是经验要求一年以下工作经验的人数最少。学历情况及工作经验可视化如图3-15所示。 图3-15 学历情况及工作经验可视化 3.5 本章小结 本章主要阐述了本招聘网站的爬虫及可视化系统的设计思想与开发的思路。展示了对拉钩网站网页的分析以及模拟浏览器向服务器端的访问来进行对招聘数据的爬取以及对爬取数据的处理和使用ECharts进行的可视化展示是对招聘数据可视化系统的一些具体功能的描述。同时对招聘信息的可视化进行展示。 第4章 功能测试及成果展示 任何一个项目完成之后都必须要对该项目的测试以检查项目是否有缺陷设计多个测试用例检查用户在使用阶段是否会有此类问题。也可以在此过程中做出完善本章主要是对招聘数据可视化的交互功能是否满足要求进行测试。 4.1 测试内容 招聘数据的可视化主要是招聘信息的展示和交互所以我们主要测试用户的操作与系统的交互是否正常。所以选择开发人员手工执行测试用例的方式进行。以下是对招聘数据可视化进行的详细说明。招聘数据可视化测试用例如表4-1所示。 表4-1 招聘数据可视化测试用例 测试名称招聘数据可视化测试测试目的看用户点击相应操作是否正确显示可视化数据柱状图与折线图是否能正常切换数据概览输入相关信息是否能显示相关数据。前置测试成功连接数据库并可视化展示招聘信息。主要参与者用户 功能模块 测试目的 测试步骤 预期结果 数据概览 输入学历和相关职位关键词能否显示正确信息 输入学历与关键词查询 出现了相关信息没有其他信息 薪资情况 柱状图与折线图是否能动态切换 点击切换折线图 折线图出现 企业情况 点击其他未显示的城市是否能出现城市招聘岗位数信息 点击其中某一城市 饼图中添加了该城市信息 福利情况 鼠标触碰到某一高频词是否能显示该词出现的次数 鼠标触碰该词 出现该词的出现次数 学历情况 鼠标触碰某一学历的柱状图是否能出现招聘人数 鼠标触碰该柱状图 显示招聘人数 4.2 测试结果 本项目的所有功能经过测试后已经完全满足要求。本项目满足了招聘数据列表的展示薪资待遇的分布展示公司分布情况的饼状图展示公司规模大小的柱状图和折线图的展示分布公司福利情况和职位福利的词云展示对学历和工作经验要求的条状图和矩形树图的展示。 4.3本章小结 本章通过使用测试案例数据对招聘数据的可视化分析进行测试测试过程中发现了一些问题比如饼状图没有设计只显示七个城市导致饼状图不好看。本次完善了功能最后完成测试但我们还需要加深学习让项目变得更加实用。 结 论 本次论文完成了对于基于Python的招聘网站的爬虫及可视化系统基本上达到了任务要求需要参考Java、Python、Php语言的相关岗位招聘信息的计算机应聘人员可以根据自身需求查看薪资待遇的水平分布、企业的主要招聘城市和企业规模、企业主要吸引人才发放的福利、企业对应聘人员的学历及工作经验的要求应聘者可以根据这些信息来选择自己发展空间更大的城市看薪资是否满足自身需求根据公司招聘要求提升自己的水平为以后的学习找到更好的工作指明方向。临近毕业对于急于找工作步入社会的计算机专业的我们来说去哪个城市工作工作待遇一般怎样工作的薪资一般为多少公司对应聘者的经验学历要求一般都是什么这一切我们都是迷茫的因此我设计的招聘信息的爬虫及可视化也可以为我们这样的应聘者分析方向。 虽然在这次毕业设计已经完成。但系统也存在着一些局限例如本系统无法满足各个行业的人才来使用本数据可视化系统。需要不断的提升软件设计技术和方法满足用户需求所以在接下来的开发中丰富和完善系统都是很有必要的。 参考文献 王芳.基于Python的招聘网站信息爬取与数据分析[J].信息技术与网络安全2019.08 贾柠瑜.基于python爬虫的岗位数据分析--以拉勾网为例[J].信息技术与信息化2019 杨众.基于Python语言的招聘信息可视化分析[J].计算机与网络2019 王慧玲.招聘网站数据可视化分析平台的设计与实现.曲阜师范大学2020.06 (美)Miguel Grinberg. Flask Web开发基于Python的Web应用开发实战[M].人民邮电出版社2015.01 (美)Wes McKinney. 利用Python进行数据分析[M].机械工业出版社2014.01 郭丽蓉.大数据环境下的网络爬虫设计[J].山西电子技术2018(2) 王涛.基于Python的软件技术人才招聘信息分析与实现——以前程无忧为例[J].福建电 脑2018 崔蓬.ECharts在数据可视化中的应用[J].软件工程2019 裴丹丹.基于ECharts的数据可视化实现[D].北京邮电大学2018 项博良唐淳淳钱前曹健东.基于网络爬虫和数据分析[J].智能计算机与应用2020.01 余本国.Python数据分析基础[M].清华大学出版社2018 董付国.Python数据分析、挖掘与可视化[M].南京邮电大学2018.05 孙波翔/李斌译.Python核心编程(第3版)[M].人民邮电出版社2016 袁国忠.Python编程从入门到实践[M].人民邮电出版社2016 关鑫洁, 黄思奇, 位磊. 基于Python的求职信息采集分析系统设计与实现[J].计算机时代, 2020. 边倩, 王振铎, 库赵云. 基于Python的招聘岗位数据分析系统的设计与实现[J].微型电脑应用, 2020. 常逢佳, 李宗花, 文静,等. 基于Python的招聘数据爬虫设计与实现[J].软件导刊, 2019. 王瑞梅. 网络招聘数据可视化分析系统的设计与实现[D].河北师范大学. 刘娟, 管希东. 基于Python爬虫的职位信息数据分析和可视化系统实现[J].软件工程与应用, 2020. 谭云鹤. 基于招聘网站数据处理类岗位的人才需求分析.天津财经大学. 欧阳元东. 基于Python的网站数据爬取与分析的技术实现策略[J].电脑知识与技术, 2020. 刘晓知. 基于Python的招聘网站信息爬取与数据分析[J].电子测试, 2020. 于韬, 李伟, 代丽伟. 基于Python的新浪新闻爬虫系统的设计与实现[J].电子技术与软件工程, 2018. 谭昕章,杜晖. 电商运营岗位的社会需求及岗位素质分析——基于智联招聘网站数据[J]. 现代商贸工业, 2021. 杨国军. 基于Python的数据爬虫的设计与实现[J].数字技术与应用, 2020.
http://www.pierceye.com/news/246933/

相关文章:

  • 福州网站建设优化安阳县二中录取分数线2022
  • 如何建手机网站网站能否做二维码
  • 南京网站建设 雷仁网上海网站制作网络推广方法
  • 营销型网站怎么做安阳县有多少个乡镇
  • 网站评论 设计天气网站建设
  • 潍坊市住房和城乡建设局网站哈尔滨最新发布公告
  • 白云网站 建设信科网络制作网站软件网站
  • 房产网站的建设想发布oa网站 需要备案吗
  • 帮别人做钓鱼网站吗海口网站建设过程
  • 广州php网站建设做网站的公司推荐
  • 百度一下建设银行网站首页网上购物都有哪些网站
  • 装饰公司营销型网站建设idc服务器租赁
  • 广告投放跟网站建设一样吗视频网站能备案吗
  • 哪些网站可以找到兼职做报表的学校网站建设价格明细表
  • 域名购买哪个网站好wordpress 转载插件
  • 网站百度提示风险网站开发 安全
  • 厦门网站建设建网站如何做一个网页项目
  • 锦州市网站建设腾讯企点怎么群发
  • 移动端网站开发哪家好总结格式模板
  • 东山县建设银行网站民宿网站开发的开题报告
  • 北京企业网站seo平台社交网站模板下载
  • 旅游做攻略用什么网站wordpress破解版
  • 杭州做购物网站第一次跑业务怎么找客户
  • 做软件好还是做网站好建筑公司年度工作总结报告
  • 陕西建设 节水 官方网站论坛怎样发帖推广
  • 二合一收款码免费制作网站营销型网站代理
  • 网站建设的技术方案模板淘宝客做网站链接
  • 梅州市网站制作页面简洁的导航网站
  • 绵阳房产网站建设自学广告设计该怎么入手
  • 火星wap建站宏大建设集团有限公司网站