这次的数据分析与决策课程,我做的是通过爬取拉勾网上的招聘信息,并用爬取到的数据整体分析互联网行业数据,
项目做得差不多了,先总结下吧,后边有时间了再完善。
主要工具: Echarts, SQL, java poi包,八爪鱼数据爬取工具
1.数据清洗
八爪鱼爬取到的数据如下:
数据清洗的要求:没空格,没回车,没有与要分析的数据无关的字符,格式统一,无歧义,将空值填充。
数据清洗之后的结果如下:
数据清洗之后,就需要把爬取到的数据存入数据库了。因为爬取到的数据是存在excel文件中的,尝试了很多方法,
将excel文件存到数据库中,总结如下:
(1)用SQL语言,简单,方便。前提是在数据库中已经建表完成了,并且需要把excel文件转换为csv格式;
LOAD DATA LOCAL INFILE 'C:\\Users\\boyuan\\Desktop\\houduan.csv' INTO TABLE job_inf
CHARACTER SET utf8 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (Job_Name, Low_Salary, High_Salary, Work_Experience,
Edu_Requirement, Job_Key_Word, Company_Develop_Stage, Work_Address);
(2)Navicat,百度出来的,我电脑上正好也装着navicat呢,就试了下,没成功,应该是数据清洗的不好。
(3)Java的poi(Poor Obfuscation Implementation)工具包,利用poi接口,可以通过java操作office套件工具的读写功能。
这种方法看起来麻烦一点,但是非常实用,并且如果数据量大的话,效果比前两者好很多,
容错性很好,excel里面的一些空格什么的,自动忽略了。代码主要是参考博客,感谢博主提供的代码;
http://www.cnblogs.com/hongten/p/java_poi_excel.html
这是存储job信息的建表语句
CREATE TABLE `job_info` ( `job_Id` ) NOT NULL AUTO_INCREMENT, `Com_Name` ) NOT NULL, `Job_Name` ) NOT NULL, `Low_Salary` ) NOT NULL, `High_Salary` ) NOT NULL, `Work_Experience` ) NOT NULL, `Edu_Requirement` ) NOT NULL, `Job_Key_Word` ) NOT NULL, `Company_Develop_Stage` ) NOT NULL, `Work_Address` ) NOT NULL, PRIMARY KEY (`job_Id`) ) ENGINE DEFAULT CHARSET=utf8 COMMENT='Detailed information of jobs'
CREATE TABLE `job_dif` ( `Job_Id` ) NOT NULL AUTO_INCREMENT, `Com_Name` ) NOT NULL, `Company_Develop_Stage` ) NOT NULL, `Work_Address` ) DEFAULT NULL, PRIMARY KEY (`Job_Id`) ) ENGINE DEFAULT CHARSET=utf8 COMMENT='All companys Com_Name Company_Develop_Stage Work_Address'
job_dif表在插入数据的时候,从job_info数据库中选取,并对公司名称进行去重处理,主要对公司信息进行些处理;
2.数据展示
利用百度的Echarts工具,对SQL查询到的数据进行展示。不得不说Echarts真的是挺好用的。
例图如下:
总得来说,如果数据库里面有足够多的数据了,那么需要进行什么样的统计分析,就需要自己用SQL从数据库里
把需要的数据取出来,可以在后台将数据转换为json数据格式,Echarts在前台页面动态展示数据库中的数据。