#开源 #工具
为CSDN博客分类生成目录导航列表。

#开源 #工具 为CSDN博客分类生成目录导航列表。

Property
Oct 6, 2022 02:36 PM
地址
https://github.com/yansheng836/GCCL
notion image

notion image

Generate CSDN Category List(GCCL)

notion image
notion image
notion image
notion image
notion image
notion image

说明

为CSDN博客分类生成目录导航列表。虽然CSDN的分类专栏支持二级分类,但是到目前为止(2019-9-30)它的层级关系并不密切,或者说是没有关系,所以这里就没有进行分层,仅仅是针对分类进行索引。
样式参考了这篇博客:https://blog.csdn.net/SnailMann/article/details/88392514,分类设置为三级目录(如果需要二级目录,可以自行添加),分类里面的博客设置成无序列表:
### <font color ="green">Java基础</font>

- [命令行运行javac,报错: 编码 GBK 的不可映射字符 (0x9C)](https://blog.csdn.net/weixin_41287260/article/details/100177044)

思路

  1. 先爬取CSDN博主主页的(非空的)分类专栏的信息:分类专栏的名称、网址、数量。
  1. 到每个分类专栏爬取博客列表信息:博客的标题、网址。
  1. 将爬取到的博客信息按照特定的格式输出到文件中。

注:

  • 因为我将分类信息和博客信息都存放在ArrayList中,所以最后生成的目录是有序的,都是按照分类专栏和每个专栏的博客的顺序进行排列的。
    • 分类专栏的排列顺序:可到分类专栏管理处调整分类专栏的排列顺序。
    • 分类专栏中的博客顺序:不得不吐槽的是:这个顺序默认是随机的,虽然很多人都想CSDN工作人员反映这个问题,但是不知道为啥就是不改了。修改:进到每个分类专栏,点击右上角的管理博客->批量操作->排序->顺序建议使用按创建时间降序

效果

请看生成的文件 博客目录-最新版.md,或者参考我的CSDN博客目录:【目录】博客目录 | 先点这里

测试

对多种情况进行了测试,得出了对应的程序运行时间,详见:程序测试

使用

简单使用

下载最新的发布包:
提供脚本,详见:运行GCCL工具的脚本,可直接运行该工具。
然后输入用户名,稍等片刻,即可在当前目录生成CSDN博客目录.md文件,复制到CSDN的markdown编辑器即可,当然你也可以添加一些说明。
我的博客:(2019-10-14)有97篇原创,含转发共153篇博客,26个非空分类专栏,分类专栏下博客共251篇。相当于原创的当于3倍(因为每篇博客可以选三个分类专栏)。用时在20s~50s之间(与网络状况有关)。
Details

开发

  1. git clone https://github.com/yansheng836/GCCL.git
  1. 以Maven形式导入IDE。
  1. 运行/GCCL/src/main/java/xyz/yansheng/main下面的App主程序。
  1. 或者按需开发自己的程序。

Limitation

  • 目前只能爬取没有自定义博客域名的博客,博客主页网址形式为:https: //blog.csdn.net/ + username,如我的CSDN用户名为weixin_41287260,我的博客主页网址为:https://blog.csdn.net/weixin_41287260
  • 如果某个分类专栏没有设置在前台显示,则不能爬取该分类专栏的信息。(注:如果没有到 分类专栏管理处 进行设置,新建后默认为显示/可见。)
  • 前面已经提到了分类专栏可能有分级的情况(一级和二级),但是因为关系不紧密,该工具没有做这方面的处理。进行过测试,发现应该是可以爬取二级分类的。

CHANGELOG

详见:CHANGELOG.md

License

This work is licensed under a MIT.

Declaration

  • 本项目仅用于学习交流使用,禁止进行商业目的的开发、发布、运营等。数据所有权归 http://www.csdn.net/ 所有。