- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南阳理工学院·计算机与软件学院
实训报告
课程名称:
数据获取与预处理(实训)
课题名称:
爬取51job网站实现数据可视化
姓 名:
学 号:
专 业:
数据科学与大数据技术
年 级:
2021级
指导教师:
职 称:
2022年5月
- PAGE 2 -
任务分工与工作量说明
成员名字
任务分工
工作量(%)
可视化(柱状图)
20%
爬取数据
20%
可视化(折线图)
20%
可视化(词云)
20%
可视化(热力图)
20%
数据获取可行性分析和需求分析
模块划分:
爬取数据;
将爬取到的数据存到csv文件中;
将爬取的数据进行可视化处理,其中又分为折线图,柱状图,热力图和词云,数据清洗部分包含在可视化中;
功能描述:
1、目标网站:htts://
2. 输入关键字后,详细分析该网站的html结构;
3. 数据存储在csv文件中;
4.数据存储到Excel文件中;
5. 注意网站反爬机制,编写代码爬取对应关键字的招聘岗位相关信息;
6. 实现对招聘信息数据的预处理(如薪资待遇的单位、工作地点等);
7. 实现对招聘岗位名称关键字、抓取页数关键字的动态输入;
8. 数据可视化:生成岗位在地图上面的热力图、热门地区岗位薪资待遇柱状图、热门地区岗位招聘个数折线图、以招聘地区及出现的次数生成词云,从而反馈出岗位的热门地区及薪资待遇;
需求分析:
我觉得当代大学生找工作,有了爬虫可以说是如虎添翼。就拿这个来说,我认为如果是正常登录网站的话,不仅需要一页一页地翻找,浪费时间,同样也有可能忽略到重要的信息,但是如果采用爬虫,就可以最大程度避免这种情况分发生,因为爬虫可以将关键字信息大量爬取出来,同时也可以采取可视化将数据以几何的形式更加直观地表示出来,让人一目了然地了解到哪里就业岗位多,哪里就业薪资高,自己的学历水平在哪里更适合发展等等,所以说需求还是比较大的。
算法描述,问题总结
算法描述:
第一步导入相关的库;
第二步爬取数据并提取关键字;
第三步将数据存入到csv文件中;
第四步进行可视化,分别可视化为折线图,柱状图,热力图和词云;
问题总结:
一开始进行爬取数据时只能一页一页的爬取,无法一下子爬取太多,后来引入for循环进行了改正;
爬取数据时一下子爬取太多的话容易触碰反爬机制,后来引入了随机IP地址问题得以解决;
进行可视化时,特别是柱状图,数据清洗不够彻底,爬取数据太多的话会提示索引超出范围的错误,后来对数据所有可能出现的情况进行了考虑,并针对这个进行了相关代码的改动,解决了问题;
热力图进行可视化时,会提示某地坐标无法找到的提示,后来针对这个问题,将少部分地区直接剔除,从而解决了bug
三.使用工具以及爬取的数据声明
使用的工具:
Python3.9+pycharm
爬取的数据声明:
工作名称:name
公司名称:company—name
工资:salary
工作地址:work—place
发布日期:update—date
公司类型:type—company
公司福利:fuli
岗位要求:yaoqiu
工作详情网址:job—url
公司介绍网址:company—url
四.详细设计
第一步:爬取数据
首先是设置伪装头,参数传递和随机IP地址;
接下对对应的网址发出请求得到响应从而得到网页源代码;
下一步使用正则表达式提取关键字信息;
再然后将提取到关键字信息存储到csv文件中并生成Excel表格方便后来从中提取信息;
第二步:可视化
首先可视化分为四个部分:折线图、柱状图、热力图、词云;
折线图的设计:
首先是进行切片操作获取地址信息的前两个字,也就是地区名;
接下来将地区名存储到列表中,并遍历列表,从而获得其中的岗位数量信息;
最后利用matplotlib库进行可视化生成地区和岗位数量相关联的折线图;
感悟:
这个折线图的可视化并不难,但是也有需要注意的地方。例如,需要进行数据准备,用list准备横坐标和纵坐标的数据;图像绘制也是需要注意的地方,必须表示出x轴和y轴的标签,表明y轴与x轴是哪两者之间的关系,让使用者看到之后一目了然
柱状图的设计:
首先是从csv文件中提取薪资信息;
由于薪资信息单位不一,有以万为单位的,有以千为单位的,或者是以月或年为单位的,所以这一步要进行数据清洗,将所有的薪资信息全部化成平均月薪,并且以千为单位;
再然后进行切片操作,获取地址信息的前两个字,并获取相应地区对应的薪资信息;
最后利用matplotlib库进行可视化,得到薪资信息以及对应的地区信息的柱状图;
感悟:
设计这个柱状图的意图是想要表示薪资与各地区之间的关系,但是又由于各地区之间的薪资有用千表示的,有用万表示的,也有用月或用年表示的,这时进行数
本人专注于k12教育,英语四级考试培训,本人是大学本科计算机专业毕业生,专注软件工程计算机专业,也可承接计算机专业的C语言程序设计,Java开发,Python程序开发。
原创力文档


文档评论(0)