爬虫 标签

中国就业形势实时数据可视化 有更新!

  |   0 评论   |   0 浏览

大家好,久违了,今年春节过后终于更新了(此处应有捂脸表情)。

有认识我的朋友可能知道我过去一两年内采集了很多数据,包括不限于招聘、人口信息、气象信息、彩票开奖信息、企业工商信息等等方向,我一直在思考能用这些数据做点什么有意义的事情。

最近我决定把这些数据通过可视化的方式展现出来,今天发布的就是第一个项目《中国就业形势实时数据可视化》,点击名称可以进入页面,建议使用PC端浏览器。

1.png

下面具体介绍一下各个图形的含义

2.png

上面的职位数量和企业数量代表目前后台采集的数据数量,本数据实时更新。

3.png

地图部分显示了38个主要城市,圆圈大小使用平均工资计算,计算公式为

平均工资-3000)/系数

这样圆圈的大小区别会更加明显。
鼠标悬浮到城市上,可以显示出该城市的平均工资、中位数工资和工作机会数量(也就是采集的样本数量),工作机会越多代表该城市的招聘需求绝对值越大。

4.png

工作机会行业TOP10排行
可以看到高新产业比如电子技术/半导体/集成电路、计算机软件、制药/生物工程、互联网/电子商务占据了半壁江山。说明我国的产业升级还是很成功的,高新产业提供了大量就业岗位。
另外就是房地产、教育和服务业还是主要支柱,依旧提供了数量众多的岗位。

5.png

工作机会城市TOP10排行
可以看到传统一线城市北上广深依旧位列前四名不可动摇,众多企业聚集在这四个城市。但是我们也要看到武汉、杭州和成都这三座新一线城市正在奋起直追,这三座城市中,除杭州房价已经很高外,武汉和成都的房价还在每平米1万-2万之间,考虑到传统一线城市突破天际的房价,我认为武汉和成都不失为一个打工者目前通过奋斗还能立足的好选择。并且武汉和成都的房价我认为在未来有很大空间,值得考虑。

6.png

学历要求
我们可以看到需要大学学历的岗位在统计分布中占据统治地位(大学本科占23.6%,大学专科占52.41),由于这些年大学的疯狂扩招,大学学历从比较优势变成及格线。目前只有985和211院校才有一定优势了。
工作经验要求
工作经验分布的比较均衡,从应届毕业生至油腻的中年人,都有相应的岗位提供,说明我们的就业市场是比较充分的,就业环境是比较健康的。

7.png
工资城市TOP10排行
平均工资这里出现了与传统认知不符合的情况,首先是你找不到广州这座城市,作为传统一线城市广州的平均工资已经跌落到10名开外了。其次你发现了一些偏远城市的平均工资水平其实很高,比如说拉萨的平均工资能够达到8340之多。其实也很好理解,拉萨的样本数只有155个,代表只有155条招聘信息,并且这些招聘信息大多是政府和企事业单位发布的,这就说明当地的工作机会还是不够多,经济活动并不活跃。高工资主要还是靠高原补贴等因素影响,并不建议选择。

8.png
工资行业TOP10排行
这里基本被3个高新行业垄断,房地产、金融、互联网(软件)。考虑到房地产已经是夕阳产业,所以没什么好犹豫的,直接选择去金融行业干研发(软件工程师)就对了。

企业性质分布
民营公司占74.75%,绝对多数。从这里就能看出,提供巨量就业岗位的还是广大中小微企业。这就不难理解今年疫情中,国家给中小微企业的各种政策倾斜和税收减免,毕竟要保就业。

后记:前端代码开源,后续会放到GitHub上,项目地址为https://github.com/lxp135/graphs 可以点一波star了。后台代码就不开源了,大家需要数据的话,可以直接从前端代码中调用的接口地址获取,我并没有做权限控制,由于服务器能力有限,请适度查询。如果有需要的话,后续我可以提供接口文档。
本项目数据来源于互联网各大招聘网站。

Java网络爬虫教程 第二章 技术基础 有更新!

  |   0 评论   |   0 浏览

2. 技术基础

本章主要讲解爬虫需要用到的 Java 常识和一些类库等,方面初学者或者使用其他语言的同学快速上手,如果您本身会使用 Java 编程语言,那么本章可以略过不看。

2.1 开发环境

本教程选择 Java 编程语言环境,而没有使用 python。目前网上存在大量的 python 爬虫教程,而 Java 教程寥寥无几,这并不代表 Java 做爬虫不行,Java 语言拥有严谨的语法结构和海量的类库,我认为 Java 在开发爬虫方面拥有后发优势。

准备开发环境

JDK

Oracle官网下载 JDK 并安装。
本教程选择 Java SE 8 版本 jdk,您也可以自行选择更高版本,理论上都是向下兼容的。

IntelJ IDEA

开发工具我选择了 IDEA 而不是 Eclipse,从IntelJ官网下载并安装。

IDEA 比 Eclipse 好用太多,基本属于用过就回不去的感觉。但是 IDEA 是收费软件,建议如果有能力还是购买正版支持吧,学生凭借学生证可以申请正版授权免费使用,嫌麻烦还可以使用社区版(免费),或者自行破解,我在这里就不提供破解方法了。

MySQL

结构化数据存储,我们选用MySQL,版本选择5.7。之所以不选择更高版本,是因为目前绝大多数云服务器提供的版本最高就是5.7,为了保持统一,所以我们也选择5.7。

MySQL官网下载MySQL并安装。

为了方便测试和查看数据,我们还需要一个图形化的数据库编辑器。

这里选择Navicat for MySQL做为我们的图形化工具。

2.2 Java 基础

基础这节没啥意思,先不写了,列一下需要了解的知识点。

  • 类和对象
  • 常量
  • 命名规范
  • 基本语法
    • 条件判断
    • 循环
  • 数组
  • 位运算
  • 枚举
  • 比较器
  • 方法
  • 集合类
    • 动态数组:[]
    • 散列表:HashMap
  • 文件
    • 文本文件
    • 二进制文件

2.3 框架与类库

  • 常用工具集 Hutool
    Hutool 是一个小而全的 Java 工具类库,通过静态方法封装,降低相关 API 的学习成本,提高工作效率,使 Java 拥有函数式语言般的优雅,让 Java 语言也可以“甜甜的”。
    Hutool 是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的 bug。
    源码地址:https://www.hutool.cn
    maven 引用:
    <!-- 一个Java工具包 http://www.hutool.cn/ -->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>4.5.1</version>
    </dependency>
  • 图片处理库 thumbnailator
    thumbnailator 是谷歌出品的一个图像处理类库,可以压缩图片大小、修改尺寸、支持网络地址,便于我们采集图片并存储为统一格式,其链式赋值方式极易使用,虽然已不再维护,但是够用就好。
    源码地址:https://github.com/coobird/thumbnailator
    maven 引用:
    <!-- google图片压缩 -->
    <dependency>
        <groupId>net.coobird</groupId>
        <artifactId>thumbnailator</artifactId>
        <version>0.4.8</version>
    </dependency>

Java网络爬虫教程 第一章 爬虫概述 有更新!

  |   0 评论   |   0 浏览

1. 爬虫概述

本章简要介绍爬虫的用途和规则。

1.1 前言

现代社会,互联网让信息获取变得简单,任何人拥有一台电脑,一根网线,上至天文地理,下至鸡毛蒜皮,无不可在互联网中查到。

有效信息对于人们来说就像空气一样不可或缺,各行各业都离不开信息的采集和加工处理,农业要抓取气象数据、农产品行情数据等信息实现精准农业,金融业需要抓取上市公司基本面和技术面作为参考。

个人更加需要各种各样的有效信息来做决策使用。每个人都可以用网络爬虫技术获得更好的生存策略,避免糟糕的未来,让自己生活的更加幸福。
比如,当我要买房的时候,我选定地区抓取大量房源,然后通过定制化的条件匹配来筛选我所需要的房源,爬虫每时每刻在工作,当出现我需要的房源时,发送微信或者短信提醒我,这时候我联系中介去看房,会大大提高我的效率,甚至能抢到一些低价房源。
再比如,我抓取了各地的招聘信息,按照地区、行业进行分析,对找工作的就业人员来说,将具有指导性意义。

本系列教程,从Java基本操作开始讲解,介绍爬虫原理,引领读者入门。然后通过讲解我自己编写的多个实战案例来帮助读者融会贯通。

1.2 规则

俗话说的好:爬虫玩的好,监狱进的早。

各位有志于数据采集事业的朋友,一定要注意遵守规则,规避风险。那么都有哪些需要遵守的规则或者说需要注意的事项呢?听我一一道来。

1.2.1 不要采集敏感信息

注意不要采集敏感信息,比如拥有保密级别的文件、商业数据等信息。

1.2.2 不要采集涉及公民隐私信息

比如公民身份证编号、照片、消费记录、医疗记录等类似信息。
本条具体内容可以参考个人信息保护标准与合规实践.pdf

1.2.3 抓取网站数据时,遵守robots.txt协议

当你想爬取某一个提供公开服务的网站的数据时,请遵守robots.txt协议,不爬取robots.txt文件中声明该网站不想被爬虫访问的部分,参考robots.txt协议

注意:如果你不能遵守以上规则,所造成的一切损失与后果自行承担,本文作者不负任何连带责任,望周知。

Java网络爬虫教程 有更新!

  |   0 评论   |   0 浏览

最近准备写的系列文章,先把目录列出来,一节一节慢慢写。

目录

1. 爬虫概述

1.1 前言
1.2 规则

2. 技术基础

2.1 开发环境
2.2 Java基础
2.3 框架与类库

3. 定向采集

3.1 下载网页
3.2 下载图片与文件
3.3 Selenium

4. 信息提取

4.1 xpath解析规则
4.2 图像OCR识别

5. 数据存储

6. 高级技巧

6.1 匿名代理池
6.2 Header伪装
6.3 关键字字典
6.4 抓取进度管理

7. 实战案例

7.1 国家统计局
7.2 时光网
7.3 彩票开奖信息
7.4 代理信息
7.5 前程无忧

8. 后记