基于Python的招聘网站爬虫及可视化的设计与实现.docx
1IAbstractII1.1 引言11.2 课题内容21.3 课题背景21.4 课题意义31.5 运行环境31.6 相关技术31.6.1 Python语言31.6.2 F1aSk框架41.6.3 ECharts图表库41.6.4 Jieba库51.6.5 PySqI包51.7 本章小结5第2章系统设计62.1 设计思想62.2 需求分析62.3 系统可行性分析72.4 功能设计72.4.1 系统功能结构72.4.2 系统功能模块设计82.4.3 系统流程图92.5 数据库设计93.1 岗位信息爬取模块设计113.2 数据库的连接及使用133.2.1 连接数据库133.2.2 数据概览数据库查询133.2.3 学历情况数据库查询143.2.4 企业情况数据库查询153.2.5 薪资情况数据库查询163.3 数据可视化设计163.3.1 福利词云设计163.3.2 柱状图和折线图183.3.3 矩形树图193.3.4 饼图203.4 可视化展示203.4.1 数据概况20342薪资情况203.4.3 企业情况223.4.4 福利情况223.4.5 学历情况233.5 本章小结23第4章功能测试244.1 测试内容244.2 测试结果254.3 本章小结25结论26致谢27参考文献27基于Python的招聘网站爬虫及可视化的设计与实现摘要:现在,随着互联网网络的飞速发展,人们获取信息的最重要来源也由报纸、电视转变为了互联网。互联网的广泛应用使网络的数据量呈指数增长,让人们得到了更新、更完整的海量信息的同时,也使得人们在提取自己最想要的信息,过滤掉对自己无用的信息时变得不那么容易,对于应聘者也是如此。由于招聘网站的日益流行,也使得应聘网站成为了应聘者找工作的主要平台。在面对着大量的招聘信息时,就业者不能一目了然的获取自己想要的招聘信息,因此我们需要对海量的招聘数据进行处理,做出一种招聘信息的分析系统。在此基础上本文介绍了基于PythOn的招聘网站的爬虫及可视化的设计与分析过程中的技术线路。本招聘网站的爬虫及可视化使用Python语言编写,使用基于F1ask的轻量级Web应用框架,数据库使用MySQ1,使用EChartS进行数据可视化部分的显示。对数据的爬取使用的Requests进行爬取数据,本次爬取的招聘网站为拉勾网搜索关键词为Java、Python>Php的招聘信息,拉勾网具有较强的反爬虫机制,采用COOkie形式进行封装,再进行数据的获取。在MySQ1数据库中存储爬取的招聘信息,用Pymysq1包连接MySQ1数据库将查询的数据使用EChartS框架展示到网页。通过本系统可以用户可以了解到职位的信息概况、薪资分布情况、企业主要招聘城市情况和企业的规模分布、职位的福利待遇和对应聘者的学历要求,工作经验的要求。关键词:PythOn爬虫;数据可视化;招聘网站DesignandImp1ementationofRecruitmentWebsiteCraw1erandVisua1izationBasedonPythonAbstract:Withtherapiddeve1opmentoftheInternet,themostimportantsourceforpeop1etoobtaininformationhaschangedfromnewspaperandTVtotheinternet.Thewideapp1icationoftheInternetmakestheamountofdataonthenetworkgrowexponentia11y.Whi1epeop1egeta1otofnewandmorecomp1eteinformation,ita1somakesitdifficu1tforpeop1etoextracttheinformationtheywantmostandfi1terouttheinformationthatisuse1esstothem.Thisisa1sothecaseforjobapp1icants.Withtheincreasingpopu1arityofrecruitmentwebsites,recruitmentwebsiteshavebecomethemainp1atformforjobseekerstofindjobs.Facedwitha1argenumberofrecruitmentinformation,theemp1oyeescannotgettherecruitmentinformationtheywantatag1ance,soweneedtoprocessthemassiverecruitmentdata,tomakearecruitmentinformationana1ysissystem.Onthisbasis,thispaperintroducesthetechnica11inesinthedesignandana1ysisofthecraw1erandvisua1izationoftherecruitmentwebsitebasedonPython.Thecraw1erandvisua1izationofthisrecruitmentwebsitearewritteninPython1anguage,usingthe1ightweightWebapp1icationframeworkbasedonF1ask,usingMySQ1database,usingEChartsfordatavisua1izationpartofthedisp1ay.Thecraw1ernetworkhasastronganti-craw1ermechanism,encapsu1atedintheformofcookie,andthenco11ectsdata.Thecraw1ersystemcanbeusedtoretrievedatafromJava,Python,PHP,etc.TheobtainedinformationisstoredintheMySQ1database,andthenthequerieddataisdisp1ayedonthewebpageusingtheEChartsframeworkusingPymysq1packagetoconnecttotheMySQ1database.Throughthissystem,userscanunderstandtheinformationoftheposition,thedistributionofsa1aries,themainrecruitmentofenterprisesinthecityandthesizeofthedistributionofenterprises,thebenefitsofthepositionandtherequirementsoftheapp1icant'seducationa1background,workexperience.Keywords:PythonCraw1er;DataVisua1ization;RecruitmentWebsite引言随着互联网的不断发展,网络招聘也更加普遍。招聘网站能使招聘者随时随地了解到招聘信息,同时提高企业招聘的速度。但是面对着大量的招聘信息,应聘者难以在很快的时间内找到适合自己的岗位,做出适合自己选择,也不能根据这些信息直观的看到应聘者比较关心的薪资状况分布,企业的主要招聘城市,公司福利和所要求的学历与经验等方面。因此,当下需要一个能够把招聘信息整合到一起并将信息可视化显示的系统,这样用户就可以通过该平台来进行查看招聘信息的薪资分布,企业福利,所在城市等,从而使求职者可以更快找到心仪的工作。目前,基于网络爬虫的招聘职位可视化系统在国内外比较少见,有提供该平台的搜索引擎如百度、谷歌等。但是因为招聘网站的招聘信息不能够随意转载,并不能获取到全面的招聘信息,且做不到可视化的效果。因此基于PythOn的招聘信息的爬虫及可视化系统还没有比较成功的案例。所以,本文通过对拉钩网Java>Python>Php相关岗位的公司名称、招聘城市、岗位名称、薪资待遇等进行爬取,然后将招聘信息存入数据库,使用ECharts可视化图表将招聘信息以柱状图、折线图等形式展现出来,供用户个性化的获取信息。让计算机相关专业应聘者根据自身优势有选择性的应聘岗位。为广大的社会择业人员和初入社会的应届毕业生提供就业和学习的指导方向。第1章课题概述由于近些年互联网的飞速发展,我们所生活的世界正在被数据所淹没,人们面对大量的数据需要从大量数据中快速地提取有效的自己需要的信息。对于求职者来说当查看招聘信息时也是这样,面对招聘网站展示的大量的职位信息,应聘者难以及时选出自己最想要的职位信息,又或者筛选出信息后不能直观地看到招聘所有信息的特征、规律、变化的趋势或者数据之间潜在联系。我们可以借助计算机技术来进行自动获取筛选分析自己想要的职位信息。本文对于基于Python的招聘网站的爬虫及可视化的课题研究就显得尤为重要了。1.1 课题内容该课题研究的是一种基于Python的招聘网站的爬虫及可视化的系统。在开发过程中利用PythOn对招聘信息进行收集和分析。首先,在拉钩网站上爬取招聘信息,然后存入数据库,连接数据库将数据库中的招聘信息从地区、行业、专业、公司规模、要求经验、薪资待遇等维度进行数据分析。最后,利用EChartS可视化技术,将有效的数据展示给用户。1.2 课题背景近年来随着我国计算机水平的发展,计算机行业的热门,高校也都相继开设了相关课程,越来越多的计算机人才涌入社会,但市场中的一众岗位让人眼花缭乱,同时众多拥有丰富从业经验的从业者,名牌大学与普通院校毕业生共同竞争,致使很多社会中的求职者面临着就业的困扰,而如今的招聘网站信息多,想要获取有效的信息需要的时间太长。为了解决社会二次择业人员和高校应届毕业生获取符合自己的并符合自己意向的招聘岗位信息,利用Python对这些招聘信息进行收集和分析势在必行。所以需要一种能够具有分析岗位优势,薪资分布等的系统,可供求职者利用自身优势,分析岗位信息,从而尽快找到心仪的岗位。通过综合运用互联网数据爬虫技术和图表可视化库,对招聘网站的招聘信息进行爬取,并进行了相关统计分析,从地区、行业、薪酬、经验、岗位素质等方面进行综合分析。从而帮助计算机行业想从事Java、Python、Php相关岗位的就业人员了解相关领域的岗位需求和薪资情况、企业招聘城市、招聘企业的规模和学历与工作经验要求等。从而为就业人员的快速选择岗位,在何处选择岗位提供参考,对未来的生活和工作、学习规划等明确方向。1.3 课题意义对于即将毕业找工作的应届生和社会择业人员来说,上网快速找到合适的工作,无疑是急需的。而如今的招聘网站信息多,面对着网上形形色色的招聘网站和参差不齐的招聘信息,想要获取有效的信息需要的时间太长,这给就业者根据自身的情况选择自己适合的职业带来了困难。针对以上不足,有必要通过爬虫技术,帮助求职者在杂乱无序的数据中寻找有用的数据,科学分析,缩短求职者找工作的时间成本,帮助求职者快速择业。本系统爬取了拉勾网站的计算机语言相关多种招聘信息,同学们可以通过选择本身应对的