# blog-parse **Repository Path**: miyakowork/blog-parse ## Basic Information - **Project Name**: blog-parse - **Description**: Blog Parse 是一款基于 Java 开发的博客文章解析库,专注于将原始 HTML / Markdown / RSS 等内容源转换为统一的结构化数据对象。作为 NotePress 生态的内容处理组件,它为博客采集、迁移、聚合等场景提供可靠的数据清洗与格式标准化能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-21 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Blog Parse 基于WebMagic的博客爬取解析工具,支持多平台博客内容抓取、解析与存储。 ## 项目简介 Blog Parse 是一个用于解析和抓取各类博客平台文章内容的Java工具项目,支持CSDN、微信公众号等平台的文章抽取,并可将解析后的内容存储到MySQL数据库。 ## 功能特性 - **多平台支持**:支持CSDN、微信公众号等多种博客平台 - **灵活配置**:通过XPath配置解析规则,适应不同网站结构 - **图片处理**:支持图片下载、转Base64编码 - **数据持久化**:内置MySQL数据存储管道 - **模块化设计**:处理器、管道、工具类分离,易于扩展 ## 技术栈 - Java - WebMagic(爬虫框架) - MySQL(数据存储) - Log4j(日志) - Maven(构建工具) ## 项目结构 ``` me.wuwenbin/ ├── App.java # 程序入口 ├── enums/ │ ├── FieldKey.java # 字段键枚举 │ └── PageType.java # 页面类型枚举 ├── model/ │ ├── Blog.java # 博客实体 │ ├── BlogImg.java # 博客图片实体 │ └── SiteConfigXpath.java # 站点XPath配置 ├── pipeline/ │ └── MysqlPipeline.java # MySQL存储管道 ├── processor/ │ ├── CsdnPageProcessor.java # CSDN处理器 │ ├── MpWxPageProcessor.java # 微信公众号处理器 │ └── simple/ │ └── SimplePageProcessor.java # 基础处理器 └── util/ ├── CommonUtils.java # 通用工具 ├── PersistentUtils.java # 持久化工具 └── SiteConfigUtils.java # 站点配置工具 ``` ## 快速开始 ### 环境要求 - JDK 8+ - Maven 3.x - MySQL 5.7+ ### 配置说明 项目配置文件位于 `src/main/resources/` 目录: - `config.properties` - 通用配置 - `db.setting` - 数据库连接配置 - `site.setting` - 站点解析规则配置 - `blogparse.sql` - 数据库表结构 ### 安装部署 ```bash # 克隆项目 git clone https://gitee.com/miyakowork/blog-parse.git # 进入项目目录 cd blog-parse # 编译项目 mvn clean package -DskipTests ``` ### 运行应用 ```bash java -jar target/blog-parse-*.jar ``` ## 使用说明 ### 添加新的博客平台解析 1. 在 `PageType` 枚举中添加新的页面类型 2. 继承 `SimplePageProcessor` 创建新的处理器 3. 在 `site.setting` 中配置对应的XPath规则 4. 注册处理器到爬虫流程 ### 配置示例 ```properties # 数据库配置 db.url=jdbc:mysql://localhost:3306/blog_parse db.username=root db.password=your_password # 爬虫配置 thread.count=5 retry.times=3 ``` ## 模块说明 ### 核心模块 - **processor** - 页面内容解析器,负责提取标题、作者、发布时间、正文等 - **pipeline** - 数据管道,负责将解析结果持久化到数据库 - **model** - 数据模型,定义博客、图片等实体结构 - **util** - 工具类,提供通用功能支持 ### 处理器说明 - `SimplePageProcessor` - 基础抽象处理器,提供通用解析逻辑 - `CsdnPageProcessor` - 专门处理CSDN博客文章 - `MpWxPageProcessor` - 专门处理微信公众号文章 ## 依赖管理 项目主要依赖: - WebMagic - 网页爬取框架 - Jsoup - HTML解析 - MySQL Connector - MySQL驱动 - Lombok - 简化代码编写 ## License 本项目遵循开源协议,具体许可证信息请查看项目源码。 ## 贡献指南 欢迎提交Issue和Pull Request来完善项目功能。 ## 联系方式 - 项目地址:https://gitee.com/miyakowork/blog-parse - 问题反馈:请在Gitee项目页面提交Issue --- 如需了解更详细的使用方法,请查看项目源码中的注释说明。