目录
所需环境及组件
开发环境配置
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(二)



