干货,基于 Java 实现网络爬虫

  网络爬虫是数据采集的一种方法,实际项目开发中,通过爬虫做数据采集一般只有以下几种情况:

  1) 搜索引擎

  2) 竞品调研

  3) 舆情监控

  4) 市场分析

  网络爬虫的整体执行流程:

  1) 确定一个(多个)种子网页

  2) 进行数据的内容提取

  3) 将网页中的关联网页连接提取出来

  4) 将尚未爬取的关联网页内容放到一个队列中

  5) 从队列中取出一个待爬取的页面,判断之前是否爬过。

  6) 把没有爬过的进行爬取,并进行之前的重复操作。

  7) 直到队列中没有新的内容,爬虫执行结束。

  这样完成爬虫时,会有一些概念必须知道的:

  1) 深度(depth):一般来说,表示从种子页到当前页的打开连接数,一般建议不要超过5层。

  2) 广度(宽度)优先和深度优先:表示爬取时的优先级。建议使用广度优先,按深度的层级来顺序爬取。

  一、在进行网页爬虫前,我们先针对一个飞机事故失事的文档进行数据提取的练习,也是为了下面爬虫实现作一个热身准备。

  首先分析这个文档:

  干货,基于 Java 实现网络爬虫

数据。

  现在要对这个文件进行数据提取,并实现一下分析:

  根据飞机事故的数据文档来进行简单数据统计。

  1) 哪年出事故次数最多;

  2) 哪个时间段(上午 8 – 12,下午 12 – 18,晚上 18 – 24,凌晨 0 – 8 )事故出现次数最多;

  3) 哪年死亡人数最多;

数据的幸存率最高;

  干货,基于 Java 实现网络爬虫

  干货,基于 Java 实现网络爬虫

  代码实现:(一切知识从源码获取!)

  1 package com.plane;

  2

  3 import java.io.*;

  4 import java.text.ParseException;

  5 import java.text.SimpleDateFormat;

  6 import java.util.*;

  7 /**

  8 * 飞机事故统计

  9 *