拉勾网招聘数据分析(Echarts, SQL, java)
这次的数据分析与决策课程,我做的是通过爬取拉勾网上的招聘信息,并用爬取到的数据整体分析互联网行业数据,
项目做得差不多了,先总结下吧,后边有时间了再完善。
主要工具: 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在前台页面动态展示数据库中的数据。
拉勾网招聘数据分析(Echarts, SQL, java)的更多相关文章
- 使用Spark分析拉勾网招聘信息(一):准备工作
本系列专属github地址:https://github.com/ios122/spark_lagou 前言 我觉得如果动笔,就应该努力地把要说的东西表达清楚.今后一段时间,尝试下系列博客文章.简单说 ...
- 爬取拉勾网招聘信息并使用xlwt存入Excel
xlwt 1.3.0 xlwt 文档 xlrd 1.1.0 python操作excel之xlrd 1.Python模块介绍 - xlwt ,什么是xlwt? Python语言中,写入Excel文件的扩 ...
- .NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Ruby/Shell/Agile/CSS/HTML/HTTP/Unix/Linux大量PDF书籍/电子书籍下载, Effective Java 下载
223本电子书籍,囊括了.NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Shell/A ...
- Echarts 的 Java 封装类库 转自 https://my.oschina.net/flags/blog/316920
转自: https://my.oschina.net/flags/blog/316920 Echarts 的 Java 封装类库:http://www.oschina.net/p/echarts-ja ...
- python 招聘数据分析
导入包 import pandas as pd import numpy as np import matplotlib.pyplot as plt 读文件 df=pd.read_csv(r'C:\U ...
- 使用Spark分析拉勾网招聘信息(二): 获取数据
要获取什么样的数据? 我们要获取的数据,是指那些公开的,可以轻易地获取地数据.如果你有完整的数据集,肯定是极好的,但一般都很难通过还算正当的方式轻易获取.单就本系列文章要研究的实时招聘信息来讲,能获取 ...
- 使用Spark分析拉勾网招聘信息(四): 几个常用的脚本与图片分析结果
概述 前一篇文章,已经介绍了BMR的基础用法,再结合Spark和Scala的文档,我想应该是可以开始你的数据分析之路的.这一篇文章,着重进行一些简单的思路上的引导和分析.如果你分析招聘数据时,卡在了某 ...
- Echarts在java中使用
index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- 优酷土豆2014校园招聘笔试题目之Java开发类
先总体说下题型,共有20道选择题,4道简答题,3道编程题和1道扩展题,题目都比较简单,限时一小时完成. 一.选择题 选择题非常简单,都是基础题,什么死锁发生的条件.HashMap和HashSet查找插 ...
随机推荐
- [刷题]算法竞赛入门经典(第2版) 5-16/UVa212 - Use of Hospital Facilities
题意:模拟患者做手术. 其条件为:医院有Nop个手术室.准备手术室要Mop分钟,另有Nre个恢复用的床.准备每张床要Mre分钟,早上Ts点整医院开张,从手术室手术完毕转移到回复床要Mtr分钟.现在医院 ...
- C#基础知识-编程思想之封装(七)
既然是学习面向对象的编程那自然要了解面向对象中的三大基石,封装.继承和多态. 我觉得要解释这三大基本概念用一篇文档很难解释清楚,想要具体形象的去了解,还是需要每一个概念用一个篇幅来说明,将封装.继承和 ...
- SQL server 用命令行更改数据库
(计应154兰家才) CREATE DATABASE 数据库名 ON [PRIMARY] ( <数据文件参数> [,…n] [<文件组参数>] ) [LOG ON] ( ...
- java虚拟机内存分配
- 8611 大牛之路I
#include<stdio.h> ]; int main() { int i, n, m, sum, x, y; scanf("%d%d", &n, & ...
- 011一对一 唯一外键关联映射_单向(one-to-one)
² 两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ² 有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库 ...
- NodeJs的包漏洞扫描与漏洞测试攻击
一个典型的Node应用可能会有几百个,甚至上千个包依赖(大部分的依赖是间接的,即下载一个包,这个包会依赖其他的好多包),所以最终的结果是,应用程序就会像是这个样子的:
- Java编程之反射中的注解详解
"注解"这个词,可谓是在Java编程中出镜率比较高,而且也是一个老生常谈的话题.我们之前在聊Spring相关的东西时,注解是无处不在,之前我们简单的聊过一些"注解&quo ...
- ReactNative学习之Html基础
前言: React Native开发作为一种新型的移动开发方式,个人觉得App的一部分需求会逐步替换成这种方式,也是公司移动开发人员所必须掌握的一种开发技术,所以鉴于这种情况我觉得很有必要学习一下,特 ...
- weather API 天气api接口 收集整理
腾讯 http://sou.qq.com/online/get_weather.php?callback=Weather&city=南京 中国天气-weather.com.cn http:// ...