这次的数据分析与决策课程,我做的是通过爬取拉勾网上的招聘信息,并用爬取到的数据整体分析互联网行业数据,
项目做得差不多了,先总结下吧,后边有时间了再完善。

主要工具:  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套件工具的读写功能。

官网:http://poi.apache.org

这种方法看起来麻烦一点,但是非常实用,并且如果数据量大的话,效果比前两者好很多,

容错性很好,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)的更多相关文章

  1. 使用Spark分析拉勾网招聘信息(一):准备工作

    本系列专属github地址:https://github.com/ios122/spark_lagou 前言 我觉得如果动笔,就应该努力地把要说的东西表达清楚.今后一段时间,尝试下系列博客文章.简单说 ...

  2. 爬取拉勾网招聘信息并使用xlwt存入Excel

    xlwt 1.3.0 xlwt 文档 xlrd 1.1.0 python操作excel之xlrd 1.Python模块介绍 - xlwt ,什么是xlwt? Python语言中,写入Excel文件的扩 ...

  3. .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 ...

  4. 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 ...

  5. python 招聘数据分析

    导入包 import pandas as pd import numpy as np import matplotlib.pyplot as plt 读文件 df=pd.read_csv(r'C:\U ...

  6. 使用Spark分析拉勾网招聘信息(二): 获取数据

    要获取什么样的数据? 我们要获取的数据,是指那些公开的,可以轻易地获取地数据.如果你有完整的数据集,肯定是极好的,但一般都很难通过还算正当的方式轻易获取.单就本系列文章要研究的实时招聘信息来讲,能获取 ...

  7. 使用Spark分析拉勾网招聘信息(四): 几个常用的脚本与图片分析结果

    概述 前一篇文章,已经介绍了BMR的基础用法,再结合Spark和Scala的文档,我想应该是可以开始你的数据分析之路的.这一篇文章,着重进行一些简单的思路上的引导和分析.如果你分析招聘数据时,卡在了某 ...

  8. Echarts在java中使用

    index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  9. 优酷土豆2014校园招聘笔试题目之Java开发类

    先总体说下题型,共有20道选择题,4道简答题,3道编程题和1道扩展题,题目都比较简单,限时一小时完成. 一.选择题 选择题非常简单,都是基础题,什么死锁发生的条件.HashMap和HashSet查找插 ...

随机推荐

  1. hdu2612 Find a way BFS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 思路: 裸的BFS,对于Y,M分别进行BFS,求出其分别到达各个点的最小时间: 然后对于@的点, ...

  2. 搭建后台页面布局利用属性target 属性

    HTML 5 <form> target 属性 HTML 5 <form> 标签 实例 提交一个在新窗口中打开的表单: <form action="demo_f ...

  3. 瀑布流原生ajax,demo

    最近听朋友们说起瀑布流挺多的,自己就去研究下了,一个简单的原生demo,分享给大家... 简单分为三个文档,有详细的注释 img:ajax.php:demo.php 其中img中放入图片 1.jpg: ...

  4. Windows下安装Nodejs步骤

      最近打算把我们的微信端用Vue.js重构,为什么选择Vue.js,一是之前使用的是传统的asp.net mvc,多页面应用用户体验比单页面要差.二是使用过Angular.js,感觉对开发人员要求较 ...

  5. QA技术概览

    • 页面测试 页面测试,顾名思义,用来测试页面的表示和前端功能.这同时涉及单元测试和集成测试.我们会用Mocha 进行页面测试. • 跨页测试 跨页测试是对从一个页面转到另一个页面的功能的测试.比如电 ...

  6. 根据wsdl文件用soapUi快速创建webService服务(有图有真相)

    最近公司业务上使用webservice 频繁.由于之前都是自己搭建webservice 自己定义提供给别人服务,现在则相反需求都是根据人家提供的wsdl 文件来生成 我们平台需要提供的接口.刚开始不知 ...

  7. 多线程编程-- part 3 多线程同步->synchronized关键字

    多线程同时访问一个资源,可以会产生不可预料的结果,所以为这个资源加锁,访问资源的第一个线程为其加锁后,其他线程便不能在使用那个资源,直到锁被解除. 举个例子: 存款1000元,能取出800的时候我就取 ...

  8. Promise (2) 基本方法

    "I'm Captain Jack Sparrow" 加勒比海盗5上映,为了表示对杰克船长的喜爱,昨天闪现了几次模仿船长的走路姿势(哈哈哈,简直妖娆). 为了周天能去看电影,要赶紧 ...

  9. python之 centos6.7下 python 3.5.2、Django-1.9 安装

    在linux6.5中已经自带了python 2 .python 2.6 ,并且yum程序使用的就是自带的python,所以系统自带的python不要随意卸载否则可能导致yum用不了. 测试环境:cen ...

  10. OpenGL教程(0)——介绍

    OpenGL介绍 OpenGL,全称Open Graphics Library,是一个用C语言写的图形API.通俗地说,OpenGL用来绘制2D/3D图形.目前OpenGL的运用十分广泛,有许多用Op ...