diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..04945a2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,26 @@ +# Changelog + +## v1.0.2(13/10/2019) + +:bug:修复bug: + +- 修复了“CSDN页面的关键元素发生变化,导致爬取数据失败的bug"。 + +:sparkles:添加的新特性: + +1. 修改爬虫工具类`Utility`为`SpiderUtil`,并优化了其方法。 +2. 优化用户体验:当爬取数据出错时,给出对应提示,如用户名不存在、页面元素发生变化时。 +3. 文件名添加时间后缀,以便备份。设置文件编码为utf8。 +4. 添加相关方法的测试,提高测试覆盖率。 +5. 更新依赖,让`Travis-CI`在集成时能支持jdk1.8的lambda表达式。 +6. 添加该工具的“局限性”说明、更新日志。 + +## v1.0.0(30/09/2019) + +:sparkles:功能介绍 + +- 输入用户名即可自动生成该用户的CSDN博客的导航目录。 + +:memo:使用说明 + +- 下载发布包:package:,按照`README`进行使用。 \ No newline at end of file diff --git a/README.md b/README.md index 340b9c9..bd2863b 100644 --- a/README.md +++ b/README.md @@ -39,14 +39,15 @@ java -jar GCCL-*-SNAPSHOT.jar
-输出内容如下(点击左边三角形展开): +示范如下(点击左边三角形展开): ```shell -java -jar GCCL-1.0.2-SNAPSHOT.jar - -weixin_41287260,感谢您使用该工具,即将为你生成CSDN博客目录。 - +java -jar GCCL-1.0.2-SNAPSHOT.jar +请输入用户名:weixin_41287260 + +weixin_41287260,感谢您使用该工具,即将为你生成CSDN博客目录。 + 1.正在获取分类专栏的信息,请稍候…… ----获取分类专栏成功,共有 26个非空的分类专栏。 2.即将获取分类专栏内的博客信息…… @@ -84,10 +85,19 @@ weixin_41287260,感谢您使用该工具,即将为你生成CSDN博客目录。 3. 运行`/GCCL/src/main/java/xyz/yansheng/main`下面的`App`主程序。 4. 或者按需开发自己的程序。 +## Limitation + +- 目前只能爬取没有自定义博客域名的博客,博客主页网址形式为:,如我的为:。 +- 如果分类专栏没有设置在前台显示,则不能爬取该分类专栏的信息。(注:如果没有到 [分类专栏管理处]() 进行设置,新建后默认为显示/可见。) + +## CHANGELOG + +详见:[CHANGELOG.md](https://github.com/yansheng836/GCCL/blob/master/CHANGELOG.md)。 + ## License This work is licensed under a [MIT](https://github.com/yansheng836/GCCL/blob/master/LICENSE.txt). -## 声明 +## Declaration - 本项目仅用于学习交流使用,**禁止**进行商业目的的开发、发布、运营等。数据所有权归 所有。 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 2daaee8..2c135bf 100644 --- a/pom.xml +++ b/pom.xml @@ -5,10 +5,10 @@ xyz.yansheng GCCL - 1.0.0-SNAPSHOT + 1.0.2-SNAPSHOT jar 生成CSDN博客分类导航目录。思路:从博客主页获取非空的分类专栏列表,然后到具体的分类专栏页面,获取该分类下的所有博客列表。 - 最后利用所有的分类信息生成CSDN的markdown编辑器的markdown格式的文件。 + 最后利用所有的分类信息生成符合CSDN的markdown编辑器的markdown格式的文件。 GCCL http://maven.apache.org diff --git a/src/main/java/xyz/yansheng/main/App.java b/src/main/java/xyz/yansheng/main/App.java index ec6c40a..efe0e75 100644 --- a/src/main/java/xyz/yansheng/main/App.java +++ b/src/main/java/xyz/yansheng/main/App.java @@ -1,6 +1,7 @@ package xyz.yansheng.main; import java.util.ArrayList; +import java.util.Scanner; import xyz.yansheng.bean.Blog; import xyz.yansheng.bean.Category; @@ -18,11 +19,11 @@ public class App { public static void main(String[] args) { // 1.得到用户名 - String username = "weixin_41287260"; + // String username = "weixin_41287260"; - // System.out.print("请输入用户名:"); - // Scanner scanner = new Scanner(System.in); - // String username = scanner.nextLine(); + System.out.print("请输入用户名:"); + Scanner scanner = new Scanner(System.in); + String username = scanner.nextLine(); System.out.println("\n" + username + ",感谢您使用该工具,即将为你生成CSDN博客目录。\n"); System.out.println("1.正在获取分类专栏的信息,请稍候……"); @@ -63,7 +64,7 @@ public static void main(String[] args) { } catch (InterruptedException e) { e.printStackTrace(); } - + System.out.println("3.即将生成该用户的csdn博客的导航分类目录文件……"); // 4.将数据写到(符合CSDN的markdown编辑器格式的)文件中 String pathname = "CSDN博客目录-" + FileUtil.getDateString() + ".md"; diff --git a/src/test/java/xyz/yansheng/main/AppTest.java b/src/test/java/xyz/yansheng/main/AppTest.java index e4d2f39..35c6537 100644 --- a/src/test/java/xyz/yansheng/main/AppTest.java +++ b/src/test/java/xyz/yansheng/main/AppTest.java @@ -1,4 +1,4 @@ - package xyz.yansheng.main; +package xyz.yansheng.main; import org.junit.Test; @@ -13,7 +13,7 @@ public class AppTest { */ @Test public void testMain() { - App.main(null); + // App.main(null); } }