# 零差云控官网爬虫方案 ## 项目概述 - **网页源**: https://www.zeroerr.cn/ - **目标**: 爬取官网所有子页面内容,生成 Markdown 和 Word 文档 - **用途**: 作为 RAGFlow 知识库,用于售前 AI 客服 ## 代码结构 ``` crawl_0131(1)/ ├── main.py # 主入口 ├── requirements.txt # 依赖 ├── zeroerr_crawler/ # 爬虫模块 │ ├── __init__.py │ ├── config.py # 配置文件(所有任务配置) │ ├── base_crawler.py # 基础爬虫类 │ ├── product_crawler.py # 产品页专用爬虫(处理 eRob、eCoder、配件) │ ├── extract_abstract.py # 摘要提取模块(使用大模型生成文档摘要) │ ├── post_process.py # Word 文档后处理模块(优化连续标题) │ └── utils.py # 工具函数 └── output/ # 输出目录 ``` ## 爬取任务完成情况 | 任务 | 命令 | 篇数 | 状态 | |------|------|------|------| | 应用案例 | `python main.py case` | 14篇 | ✅ 完成 | | 常见问题 | `python main.py issue` | 32篇 | ✅ 完成 | | 企业新闻 | `python main.py news` | 11篇 | ✅ 完成 | | 认证与资质 | `python main.py certification` | 10篇 | ✅ 完成 | | 机器人关节 | `python main.py erob` | 12篇 | ✅ 完成 | | 编码器 | `python main.py ecoder` | 7篇 | ✅ 完成 | | 配件 | `python main.py tools` | 13篇 | ✅ 完成 | | 关于我们 | `python main.py about` | 2篇 | ✅ 完成 | | 服务与支持 | `python main.py support` | 1篇 | ✅ 完成 | | 服务与支持-详细页面 | `python main.py service_detail` | 7篇 | ✅ 完成 | | 资料下载 | `python main.py download` | 1篇 | ✅ 完成 | **总计: 110 篇文章** > 注:服务与支持和服务与支持-详细页面合并输出到同一个目录 `output/服务与支持/` ## 使用方法 ```bash # 安装依赖 pip install -r requirements.txt # 查看所有可用任务 python main.py --list # 爬取单个任务 python main.py case # 爬取多个任务 python main.py case issue news # 爬取全部 python main.py ``` ## 输出格式 - 每个分类生成一个汇总文档(`xxx_汇总.md` 和 `xxx_汇总.docx`) - 图片保存到对应分类的 `images/` 目录 - Word 文档中嵌入本地图片 - 支持表格、列表、标题等格式转换 ## 技术说明 - 使用 `StandardCrawler` 处理标准页面(新闻、案例、问题等) - 使用 `ProductCrawler` 处理产品页面(机器人关节、编码器、配件) - 支持多种页面布局和内容选择器 - 自动去重标题,优化 Word 文档格式 - **层级处理**:Markdown 和 Word 采用相同的层级处理规则,确保文档结构一致 - 页面内容中的 h1 自动降级为二级标题,确保层级结构清晰 - Word 文档生成后自动进行后处理,优化连续标题 - **摘要提取**:`extract_abstract.py` 模块使用大模型(OpenAI API)为每个分类的文档集合生成摘要 - 面向客户售前咨询场景,生成100-200字的简洁摘要 - 自动生成相关链接列表 - 摘要前自动添加索引页链接 - 摘要失败时自动降级为仅生成链接列表 ## 待处理项目 - [ ] 报价与交期页面:https://www.zeroerr.cn/inquiry/ - [ ] 快速交货与货期:https://www.zeroerr.cn/stock/109.html