栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

实战:纯手工打造Java爬虫——基于JDK11原生HttpClient(一)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实战:纯手工打造Java爬虫——基于JDK11原生HttpClient(一)

目录

所需环境及组件

开发环境配置 

pom.xml

application.properties

相关数据库脚本

程序结构规划 


        Java爬虫以前大多使用Apache的HttpClient,自2020年HttpClient5版本发布,相较HttpClient4就产生了较大差异,jar包结构等都发生了变化,旧程序升级存在一定问题。其实自JDK11起,JDK自带的HttpClient功能已经逐渐完善,我们不妨封装一下JDK11的HttpClient,替换掉第三方插件,日常的使用应该是足够了。

所需环境及组件

基础环境:

JDK11

SpringBoot 2.6.4

其他(非必须):

Jsoup 1.14.3(HTML内容解析工具)

Netty 4.1.74(在线消息)

MySQL 8.0.28(持久化数据库)

SqlToy 5.1.32(数据持久化中间件)

Thymeleaf 2.6.4(HTML页面模板引擎)

开发环境配置 

我们先来看看pom.xml配置

pom.xml


    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.4
         
    
    com.vtarj
    Pythagoras
    0.0.1-SNAPSHOT
    Pythagoras
    Pythagoras
    
        11
        5.1.32
        1.14.3
        8.0.28
    
    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        

        
        
            io.netty
            netty-all
        
        
        
            org.jsoup
            jsoup
            ${jsoup.version}
        

        
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        

        
        
            mysql
            mysql-connector-java
            ${mysql.version}
        

        
        
            org.springframework.boot
            spring-boot-starter-jdbc
            ${jdbc.version}
        
        
        
            com.sagframe
            sagacity-sqltoy-starter
            ${sqltoy.version}
        

        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
        
            
                src/main/java
                
                    ***.xml
                
            
            
                src/main/resources
                
                    ***.properties
                    ***.sql
                    ***.html
                    ***.png
                
            
        
        
            
                src/test/java
                
                    ***.xml
                
            
            
                src/test/resources
                
                    ***.properties
                    ***.sql
                    ***.html
                    ***.png
                
            
        
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.6.4
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    

再看看application.properties配置

application.properties
###服务器配置
server.servlet.encoding.enabled=true
server.servlet.encoding.charset=UTF-8

###服务器配置
server.port=8000

#静态资源访问路径,默认会在/public /static /resources 目录下查找静态资源,故无需配置这些
spring.mvc.static-path-pattern=

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for sc_region
-- ----------------------------
DROP TABLE IF EXISTS `sc_region`;
CREATE TABLE `sc_region`  (
  `R_ID` varchar(22) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键ID',
  `R_CODE` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '行政区划编码',
  `R_TYPE` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '行政区划类型',
  `R_NAME` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '行政区划名称',
  `R_LEVEL` int(0) NULL DEFAULT NULL COMMENT '行政区划等级',
  `R_URL` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '行政区划链接',
  `P_CODE` varchar(35) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '上级行政区划编码',
  `P_URL` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '上级行政区划链接',
  PRIMARY KEY (`R_ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'System Center Region Table,系统行政区划信息表' ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

程序结构规划 

        打码的内容请忽略,与本文无关哦

未完待续~~~ 

下一篇:实战:纯手工打造Java爬虫——基于JDK11原生HttpClient(二)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863362.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号