制作企业网站得多长时间做单页网站
Node学习专栏(全网最细的教程)
【spring系列】
SpringCloud
前端框架Vue
java学习过程
RocketMQ
Spring
Tomcat
websocket
从头开始学Redisson
 从头开始学Oracle
 跟着大宇学Shiro
 吃透Shiro源代码
Git基础与进阶
Java并发编程
 Spring系列
 手写SpringCloud
 SpringCloud系列
商城项目
(夏)SpringCloud微服务开发自媒体项目
Git从入门到精通
 JS从入门到精通
 SpringMVC从入门到精通
 jQuery从入门到精通
 前端
 JVM从入门到精通
web前端
数据库
SpringCloud
SpringCloud
RestTemplate
小白搭博客(基于SpringBoot+Vue)
Mybatis核心源码
java学习之路
spring-boot-cloud
吃透Spring源码
Maven系列
 MyBatis系列
 MySQL高手系列
 Spring高手系列
 Java高并发系列
docker
SpringCloud
Schedule
 SpringCloud
 HTML/CSS/JS
 Vue.js
《SpringCloudAlibaba》
 《SpringCloudOauth2微服务授权》
 《SpringCloudNetflix源码剖析》
享学SpringMVC
JavaScript
spring源码
Sping+SpringMVC+Mybatis学习笔记
开源项目
JS学习笔记
SpringBoot2.x源码
 RocketMQ学习
 JavaIO
 Java网络基础
 Java并发
 Java数据结构与算法
 SpringMVC5.x学习
 JavaJUC源码
 Spring5.x学习
 Spring5.x源码
音视频专栏
你好Archaius!
Spring
SpringCloud
SpringCloudAlibaba实战
 SpringCloud
nodejs
【MySQL】
Shiro系列
 Sa-Token
 Docker
 微信小程序
 微信公众号
 SpringBoot系列
 第三方平台
Vue.js
《从零搭建开发脚手架》
《恋上数据结构》
MyBatis
Spring
 并发
JavaScript
Web开发
 Vue.js+SpringBoot项目实战
Netty框架源码探究
Java并发编程
数据结构
 SpringBoot2
 SpringCloudAlibaba
 Web
Web前端
RestTemplate restTemplate = new RestTemplate();
UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromHttpUrl("https://blog.csdn.net/community/home-api/v1/get-attention-column").queryParam("username", "qq_16992475");Integer pageNum = 1;
Integer pageSize = 10;
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES, false);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);List<ChapterEntity> chapterEntityList = new ArrayList<>();while (true) {uriComponentsBuilder.replaceQueryParam("page", pageNum);uriComponentsBuilder.replaceQueryParam("size", pageSize);String resultStr = restTemplate.getForObject(uriComponentsBuilder.build().toUriString(), String.class);JsonNode jsonNode = mapper.readTree(resultStr);JsonNode listJsonNode = jsonNode.get("data").get("list");JsonNode totalJsonNode = jsonNode.get("data").get("total");List<ChapterEntity> chapterEntity = mapper.readValue(listJsonNode.toString(), new TypeReference<List<ChapterEntity>>(){});chapterEntityList.addAll(chapterEntity);if (pageNum * pageSize > totalJsonNode.asLong()) {break;}pageNum++;}System.out.println(chapterEntityList);Map<String, List<ChapterEntity>> chapterMap = chapterEntityList.stream().collect(Collectors.groupingBy(ChapterEntity::getUsername));for (Map.Entry<String, List<ChapterEntity>> chapterEntry : chapterMap.entrySet()) {List<ChapterEntity> chapterEntityListByGroup = chapterEntry.getValue();for (ChapterEntity chapterEntity : chapterEntityListByGroup) {chapterEntity.setTitle(chapterEntity.getTitle().replaceAll("#|\\s",""));System.out.println(String.format("[%s](%s)", chapterEntity.getTitle(), chapterEntity.getUrl()));}System.out.println("");
}@Data
@NoArgsConstructor
@AllArgsConstructor
public class ChapterEntity {private Long id;private String username;private String img;private String title;private String description;private Integer sum;private String url;private Long people;
}
