1. 研究目的与意义、国内外研究现状(文献综述)
本课题的意义:在今年年初的新冠状病毒疫情的影响下,我国高校毕业生形成了巨大的就业压力,毕业生就业问题成为社会关注焦点。同时,随着海量信息的涌现和信息技术的不断进步,网络云招聘广泛出现在各种网络信息中,但大量招聘网站信息混杂,高校毕业生难以在众多职位信息中作出正确选择。目前,互联网上存在许多同类比较规范的求职网站。但是现有招聘网站大部分是各类企业面向整个社会在互联网上发布职位信息,其数量庞大,信息结构复杂,求职者很难在大量职位中找到适合自己的职位,导致有时企业招不到人才,而求职者无法找到合适岗位[9]。本论文旨在通过学习python的爬虫技术对于招聘网站上的招聘信息进行爬取,对爬虫技术在招聘网站上的应用,以及在获取一定量数据后对于其中薪资水平、行业种类等因素的数据分析,从而为高校应届毕业生提供一定有价值的就业信息。当代社会ai智能发展的时代,推动人工智能时代来领的关键因素就是大数据,对比十年前,数据量的增加是呈现出几何式增长,只有足够大量的数据,才能去进行模型训练。在大讯息的社会下,查找,处理,分析,总结和总结信息的深层规则是其关键,以往的信息检索技术是通用检索引擎,通用检索引擎是虚招大众需要的web资源的高效手段。伴随web技术的进步和人们对通用检索引擎所需的不断细致化,该技术逐渐不能满足人们的需求。网络数据爬取技术,也称为网络蜘蛛,本质上就是程序或脚本,在构成上按照某些规则而人为编译的。数据的处理包括多个方面,从数据的爬取,清洗到数据的分析,再到数据的可视化展示等等一系列的操作都是各个专家学者等研究和探索的热点。它能够有效、准确地捕获大数据量中的靶标数据,从而节约巨额资本,在信息寻找中充当了非常关键的角色[4]。在编程语言的选择上,也成为了大家辩论的焦点,在众多语言中,python语言占据了其一席之地[5]。python语言在网络爬虫技术上的应用对于数据的获取及分析起到重要作用,研究其应用现状及前景对于探索技术的发展将推动信息技术的进步。而分布式爬虫技术是基本大数据时代下,而产生的高效的爬虫技术。
国内外研究及技术概况:随着大数据时代的来临,在“互联网 ”的背景下,大数据的挖掘和分析已成为业界和学术界研究的热点。大数据挖掘可以挖掘先前未知且潜在有用的信息样型或规则,进而转化为有价值的信息或知识,帮助决策者迅速做出适当决策。进行大数据挖掘之前,首先应该获取数据,目前使用 python 编写网络爬虫程序可以成功获取互联网上的大数据。太原科技大学的王芳采用基于 python 的 scrapy框架设计了某招聘网站的爬虫系统并实现数据清洗及分析[4]。淮阴师范学院的常逢佳采用 python 的requests 库针获取拉勾网招聘数据,通过 ajax 异步请求的 json 数据获取了职位信息简介,并对获取的薪资、工作年限等做了简单的数据清洗和分析。南昌航空大学的谭镇阳实现了招聘信息的海量爬取并采用 python 的 matplotlib 库对获取的信息进行了图表化,但同样未获取岗位的详情信息。 天津商业职务学院刘卫东提出了基于 scrapy 架构的多网站招聘信息爬取的思想。python
语言语法简单清晰、功能强大,容易理解。可以在windows、linux等操作系统上 运行;python 是一种面向对象的语言,具有效率高、可简单地实现面向对象的编程等优点。python 是一种脚本语言,语法简洁且支持动态输入,使得 python在很多操作系统平台上都是一个比较理想的脚本语言,尤其适用于快速的应用程序开发[11]。网络爬虫(web crawler),是一种按照一定的规则,自动提取 web 网页的应用程序或者脚本,它是在搜索引擎上完成数据抓取的关键一步,可以在internet 上下载网站页面。爬虫是为了将 internet 上的网页保存到本地,爬虫是从一个或多个初始页面的 url,通过分析页面源文件的 url,抓取新的网页链接,通过这些网页链接,再继续寻找新的网页链接,反复循环,直到抓取和分析所有页面[5]。
2. 研究的基本内容和问题
研究的目标:随着互联网进一步深化到社会的各个领域,互联网行业的岗位呈现出复合性、多元性的特点。这些招聘信息实时地体现出岗位所处地区、薪资、岗位的职责和要求等信息[1]。但大量的招聘信息所包含的需求和要求来源广泛,且实时在变化,不同招聘网站之间数据重复,总体呈现出碎片化的分布,不利于人工进行收集和分析,也对学生主动获取就业信息产生了阻碍。故本文目标旨在 1、对大型招聘网站利用爬虫技术对其进行相关职位信息的爬取,从而得出一定的数据例如薪酬、专业、工作经验等 2、在得到这些数据后,我将进行相关统计学软件的数据代入,这其中将运用多元统计学的相关知识对其进行有效的分析以至于能够让在校生能够在就学期间就能够紧跟社会发展趋势,明确目标就业岗位的需求,获取大量的招聘信息并从中统计分析出特定岗位的职责和需求。 |
研究内容:对 Python 爬虫的设计和数据分析的流程进行详细论述,并对使用到的技术进行了详细解释。
1、使用Python中的 Scrapy 框架定向抓取招聘信息,通过定向URL爬取招聘信息并存入数据库,然后对数据进行处理和分析。根据不同工作经验、学历要求等条件对某一职业的薪资进行分析,并将分析结果进行可视化展现[2]。
2、对于一般的web数据爬取技术,有两种常见的爬行策略:
(1)深度优先策略(Depth first strategy):
寻找在站点分布里面概括而来的树的叶节点(即web的最基层不包括其他任何非重复Web链接的网页)是此方法实现的方式。在web脚本里,当爬虫爬取到目前web上的第一个链接时,它执行深度优先搜索策略的页面文件链接指示,也就是说,必须先搜索路径才能形成独立的完整架构,才能在当前目录里面寻找其他相关结果。深度优先搜索策略是跟踪从web解释的html文件中的一个url到另一个url,这样由url组成的链接网络将运行,当不可能进一步渗透的时候才结束。然后返回到以前的web界面中,并继续选择web界面中的还未访问的链接来继续进行访问,实现方式就是通过存进队列,先进先出的方式。搜索结束的时机是,当队列中没有元素的时候。从而我们可以发现,在网络爬取的过程中,如果url的结构太深,这时候这种方式就不是一个好的选择,会造成效率低的问题。
(2)广度优先策略(Breadth first strategy):
对于BFS,广大使用者称之为广度优先搜寻方法或水平优先搜寻方法,应用BFS我们可以网页爬虫的架构思想,本质上是数据结构的东西,是一种图形搜索算法。简而言之,宽度优先搜寻方法从树的根节点出发,沿着树的广度在同一级别访问树的节点。如果访问完树的所有节点,搜寻遍历便完成了。广度优先搜寻方法的实现通常采用开闭表.广度优先搜寻方法首先根据web框架将需要抓取web的站点划分为不同的级别,从上到下访问,依据所划分的层。刚开始先爬行浅层url,然后爬到下一个级别,在相同级别的所有网页处理完成之后便结束。广度优先方法可以同时执行的方式进行爬行,进程的同时执行是使运行速度上升的,因此这种特点能够使爬虫的效率得到提升,但是会有限制。而且,在爬虫中我们能够随意设置爬行点的迭代次数,用这种方法来解决爬虫采用深度优先方法一直运行的问题,从而防止使数据爬取陷入无限循环,导致爬取过程出现异常。
3、本文构建模型是希望能够对我国拟招聘公司所给薪酬影响因素有一个更明确的剖析,及与影响因素之间存在的关联度进行分析。模型将拟招聘职位薪酬设为因变量,公司规模、学历水平、行业种类等设为自变量。本文利用构建的实证模型,对自变量和薪酬之间的关联性进行探究,分析用人单位人员薪酬的影响因素[3]。
拟解决的关键问题:
1、爬取功能。该功能需要将爬虫伪装成浏览器才能对网站进行访问。Python 中有自带的一个库可以完成这个工作:Urllib。urllib 是 python 内置的 HTTP 请求库,无需安装即可使用,它包含了 4 个模块:request、error、parse、robotparser。本文待爬取的网页信息直接分析代码得到不需要使用 parse 解析。将爬虫请求伪装成浏览器请求。爬取功能的实现包括获取源码函数和网页信息解析函数[6]。 |
222、获取源码函数:首先导入 request 模块,然后使用第一步得到的用正则表达式描述的 URL 地址。在打开了 URL 地址后通过 read 方法读取超文本传输协议代码,这时候就可以获取所有的 HTML 代码了。同时为方便有可能出现的各种字符不兼容,设定编码方式为 gbk,最后返回获取到的 HTML 代码。本文通过分析常用招聘网站的网页结构,利用 Python 语言及其丰富的第三方库函数设计了一个实现多数据源招聘信息采集的爬虫系统[7],并根据收集到的数据进行了清理及分析,解决了招聘网站信息可能有偏向性、信息可能不够全面的问题。
3. 研究的方法与方案
本论文拟使用的研究方法:
1、python爬取技术。爬网程序搜寻网页的过程也是对请求和响应的处理。以浏览器渲染网页的过程为例,当用户打开网页时,浏览器会向目标网址所在的服务器发起请求。服务器响应请求并以特定格式的网页返回给浏览器。开发爬网程序时,爬虫设计人员通常会根据爬网目标的特征选择网站中的一些有价值的网页地址作为爬网程序的初始目标。抓取程序开始运行后,这些 uRl 将通过 dns 服务器进行调度、解析和获取,以得到相应的 ip 地址。
2、多元统计方法。多元统计分析是从经典统计学中发展起来的一个分支,是一种综合分析方法,它能够在多个对象和多个指标互相关联的情况下分析它们的统计规律。其中多元分析是研究客观事物中多个变量(或多个因素)之间相互依赖的统计规律性。它的重要基础之一是多元正态分析,又称多元分析。如果每个个体有多个观测数据,或者从数学上说,如果个体的观测数据能表为 p维欧几里得空间的点,那么这样的数据叫做多元数据,而分析多元数据的统计方法就叫做多元统计分析。
4. 研究创新点
特色或创新之处
本论文的特色之处在于利用新兴语言python进行目标网站的信息获取,本论文的创新之处在于:
1、分析多个常用招聘网站的网页结构,并根据收集到的数据进行了清理及分析,解决了单个招聘网站信息可能有偏向性、信息可能不够全面的问题。
5. 研究计划与进展
研究计划:
2020.1.20-2020.3.20完成相关语言的学习:(1)web前端的知识:html, css, dom, dhtml, ajax,jquery,json等;(2)正则表达式,能提取正常一般网页中想要的信息,比如某些特殊的文字,链接信息,知道什么是懒惰,什么是贪婪型的正则;(3)会使用re, beautifulsoup,xpath等获取一些dom结构中的节点信息;(4)知道什么是深度优先,广度优先的抓取算法,及实践中的使用规则;(5)能分析简单网站的结构,会使用urllib或requests库进行简单的数据抓取;
2020.3.21-2020.4.20完成对目标网站的信息爬取及处理,在得到有效的数据后进行相关统计分析,此外对多元统计学的相关软件能够达到熟练掌握.
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。