5

老狗啃爬虫-开发准备之Maven动员

 2 years ago
source link: http://www.veiking.cn/blog/1045-page.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

老狗啃爬虫-开发准备之Maven动员_老狗啃骨头_Veiking百草园-知识点滴,日常分享


本次关于爬虫框架WebMagic的开发学习,将基于java语言的Spring框架,Spring框架是java语言诸多优秀框架里脱颖而出的一个功能完善的轻量级核心框架。现如今Spring Boot和Spring Cloud 的技术加成,给Spring框架的应用带来了更多的成熟优秀的解决方案,如虎添翼,使其应用更加广泛。本次学习,将基于Springboot结合WebMagic进行

  本次关于爬虫框架WebMagic的学习开发,将基于java语言的Spring框架,Spring框架是java语言诸多优秀框架里脱颖而出的一个功能完善的轻量级核心框架。
  当人们拿着php语言开发的便捷津津乐道的时候,拿着基于javascript语言的node.js之类新生框架之优秀侃侃而谈的时候,一定不能忽视在很多技术的探索和定义上,spring都走在了前列。虽然说不同的技术应用在不同的场景有着不同的特性展示,但一定要知道,基于Spring框架的开发也会是令人愉悦的,同样简单便捷兼容并包且高度灵活的,其基于接口的编程理念会很好的引导我们的思维和习惯。
  现如今Spring BootSpring 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进行实战演练。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK