Java网络爬虫教程 第二章 技术基础
编程 爬虫 数据采集 Java 1368

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 基础

基础这节,仅列一下需要了解的知识点。如果您不具备Java基础,请自行买实体书或寻找网络教程学习。

  • 类和对象
    Java 是一种面向对象的编程语言,类和对象是其中的核心概念。类是定义对象的模板,对象是类的实例化。在类中定义属性和方法,对象可以使用这些属性和方法。
  • 常量
    常量是指在程序中固定不变的值。Java 中使用 final 关键字来定义常量,一旦赋值就不能再修改。
  • 命名规范
    Java 有一套命名规范,例如类名应该使用驼峰式命名法,方法名和变量名应该使用小写字母和下划线分隔的方式命名等。
  • 基本语法
    • 条件判断
      Java 中使用 if 和 switch 语句来进行条件判断。if 语句用于根据条件执行不同的代码块,switch 语句用于根据变量的值执行不同的代码块。
    • 循环
      Java 中使用 for、while 和 do-while 语句来进行循环。for 循环用于循环次数已知的情况,while 和 do-while 循环用于循环次数未知的情况。
  • 数组
    数组是一种存储相同类型数据的容器。Java 中的数组是静态的,一旦定义就不能改变大小。
  • 位运算
    Java 中的位运算符用于对整数进行位运算,例如按位与、按位或、按位异或等。位运算符的操作对象是整数的二进制形式。
  • 枚举
    枚举是一种定义常量的方式,它是一种特殊的类。枚举类型是一组有限的、具有相同特征的常量集合。
  • 比较器
    Java 中的比较器是一种可以自定义对象比较方式的接口。比较器可以用来对对象进行排序等操作。
  • 方法
    方法是 Java 中的一种可重用代码块。方法可以接收参数并返回值。方法的定义包括方法名、参数列表、返回类型和方法体。
  • 集合类
    • 动态数组:[]
      Java 中的动态数组是一种可以动态增长的数组,使用 ArrayList 类实现。
    • 散列表:HashMap
      Java 中的散列表是一种键值对存储的数据结构,使用 HashMap 类实现。
  • 文件
    • 文本文件
      Java 中使用 FileReader 和 FileWriter 类来读写文本文件。
    • 二进制文件
      Java 中使用 FileInputStream 和 FileOutputStream 类来读写字节流。

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网络爬虫教程 第二章 技术基础
https://liuxp.me/archives/articles202001161579163755624html
作者
一只会思考的猪
发布于
更新于
许可