老狗啃爬虫-开发准备之Maven动员
摘要:
本次关于爬虫框架WebMagic的开发学习,将基于java语言的Spring框架,Spring框架是java语言诸多优秀框架里脱颖而出的一个功能完善的轻量级核心框架。现如今Spring Boot和Spring Cloud 的技术加成,给Spring框架的应用带来了更多的成熟优秀的解决方案,如虎添翼,使其应用更加广泛。本次学习,将基于Springboot结合WebMagic进行
技术选型
本次关于爬虫框架WebMagic的学习开发,将基于java语言的Spring框架,Spring框架是java语言诸多优秀框架里脱颖而出的一个功能完善的轻量级核心框架。
当人们拿着php语言开发的便捷津津乐道的时候,拿着基于javascript语言的node.js之类新生框架之优秀侃侃而谈的时候,一定不能忽视在很多技术的探索和定义上,spring都走在了前列。虽然说不同的技术应用在不同的场景有着不同的特性展示,但一定要知道,基于Spring框架的开发也会是令人愉悦的,同样简单便捷兼容并包且高度灵活的,其基于接口的编程理念会很好的引导我们的思维和习惯。
现如今Spring Boot和Spring Cloud 的技术加成,给Spring框架的应用带来了更多的成熟优秀的解决方案,如虎添翼,使其应用更加广泛。所以,本次学习,将基于Springboot结合WebMagic进行。
之前看到网上很多基于Springboot结合WebMagic的案例,都是直接从如何添加使用WebMagic开始的,这可能导致很多非java出身的玩家,或对Spring框架不是很熟的新手,产生比较陡的学习曲线,这里在正式接入WebMagic之前,我们先搭建好本次教程的所有基础环境。
开发环境搭建
太过基础的,如JDK、eclipse、数据库Mysql以及Maven的安装配置等之类的,不了解的新手需要自己消化:工欲善其事,必先利其器,器物需自己准备。
如果是对SpringBoot比较熟的小伙伴,可直接跳到步骤C瞄重点,因为步骤A和B都是在铺陈SpringBoot相关非常基础的一些细节,没必要再看。
A、创建一个工程
Maven软件(插件)可以通过一小段描述来帮我们管理项目的构建,其优秀的特质今天也越来越被认可。创建SpringBoot项目可能有很多种方式,其本质就是创建一个包含SpringBoot支持jar包的项目,那么我们就用maven管理的方式,来创建我们的项目。
我们直接创建一个最基本最基本的maven项目:

点击next继续下去,创建完成后我们打开项目根目录下的pom.xml文件看看:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>V-WebMagic</groupId>
<artifactId>V-WebMagic</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>VMagic</name>
<description>WebMagic开发学习</description>
</project>
这就是我们创建的一个仅借助maven来管理的java项目,pom.xml文件里包含的是基本的项目描述,接下来如果我们需要什么功能什么模块,都需要在这个文件里通过配置进行管理。
B、基础功能模块配置
接上一步,项目创建好了,我们此行的目的是想使用springboot,怎么操作呢?
这里推荐一个网站:https://mvnrepository.com/ ,这个网站提供了很多我们开发java项目需要的依赖包,我们输入搜索:spring-boot,可以看到:

这里有很多相关依赖包,我们可以点击去看看,比如我们打开第一个,点进去瞅瞅:

可以看到,这里有很多形式的依赖包,以后我们需要什么功能、模块,都可以用这种方式来寻找。开发实战中,很多版本问题,也是需要这样来查找更新的。
我们在这里就先将此后要用的一些基础模块先配置好好,然后再看看他们大概都是干什么的。
首先,由于此后我们肯定是要用spring-boot了,就先给他添加个
<!-- #For SpringBoot version-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
</parent>
这个parent,其功能,和java类里的继承概念差不多,是统筹起来解决复用问题的。这里可以指定他的版本,即下边所有跟spring-boot有继承关系的包都将遵循这个版本, 比如咱们当前查到最新的是2.4.0,我们就用最新的,此后所有继承spring-boot的使用包,都是2.4.0版。
然后,我们要添加集体的功能插件,即在
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- #For commons -->
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
这里我们配置了spring-boot-starter、spring-boot-starter-test这两个模块和commons-lang3、commons-beanutils包。
其中spring-boot-starter是我们使用spring-boot的基本依赖,spring-boot-starter-test是测试功能,这个我们后边肯定会用到,我们就先加上。我们的开发过程尽量用正常的测试方式来运行代码,将运行代码和功能代码解耦,方便以后正式使用。
下方的commons-lang3、commons-beanutils依赖包都是一些基本的使用工具类等,方便我们加深下对dependency标签使用的理解。
OK,当pom.xml文件配置完毕,我们要执行更新,项目右键maven->update project,它自己会将这些所需的模块,以及模块本身依赖的jar包,一并下载下来。
好了,上边就是使用Springboot的准备,之后需要添加什么功能,直接在这个dependency配置就行,接下来我们添加WebMagic。
C、添加WebMagic
接着来我们正式添加WebMagic相关的依赖。关于WebMagic的学习有一个官方推荐的网站:http://webmagic.io/ ,里边提供了详实的文档,以及学习交流的社群等。根据上面的信息提示,我们查找到最新的webmagic版本是0.7.4,OK,我们就将其最重要的两个包webmagic-core、webmagic-extension添加进来,代码如下:
<!-- WebMagic 支持 -->
<!-- https://mvnrepository.com/artifact/us.codecraft/webmagic-core -->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/us.codecraft/webmagic-extension -->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.4</version>
</dependency>
完事儿执行更新操作,结合于springboot的WebMagic爬虫开发一切准备就绪。
结语
以上就是我们关于爬虫框架WebMagic开发学习的前置准备,接下来我们将使用Spring框架,基于Springboot技术,结合WebMagic进行实战演练。