common-fetcher
# Common-Fetcher
统一采集框架,为 AI Agent 提供强大的信息采集能力。
## 功能特性
- 🕸️ **多源支持**: RSS、网页抓取、API 集成
- 📊 **大规模**: 207+ 预配置采集源
- 🤖 **AI 处理**: 自动评分、分类、摘要生成
- ⚡ **高性能**: <600ms/30 篇文章
- ✅ **高可靠**: 100% 成功率(已验证解析器)
## 支持的行业
### 🏭 煤炭行业(27 个采集源)
- 国家级:发改委、能源局等 6 个
- 省级:4 个
- 市级:3 个
- 数据平台:4 个
- 企业自媒体:10 个
### 🏠 房地产行业(23 个采集源)
- 国家级:住建部、央行等 5 个
- 省级:1 个
- 市级:3 个
- 数据平台:4 个
- 企业自媒体:10 个
### 🤖 AI 技术(129 个采集源)
- RSS 源:90 个(Hacker News, MIT Tech Review 等)
- 网站/自媒体:39 个
## 使用方法
### CLI 方式
```bash
# 抓取煤炭行业数据
common-fetcher --industry coal --output daily.md
# 抓取房地产行业数据
common-fetcher --industry realestate --output daily.md
# 抓取 AI 技术数据
common-fetcher --industry ai --output daily.md
# 自定义采集源
common-fetcher --config custom-sources.json --output daily.md
```
### Node.js API
```typescript
import { CommonFetcher } from 'common-fetcher';
const fetcher = new CommonFetcher({
industry: 'coal',
maxArticles: 50,
timeout: 15000,
});
const result = await fetcher.fetch();
console.log(`成功抓取 ${result.totalArticles} 篇文章`);
```
### OpenClaw 集成
在 `openclaw.json` 中配置:
```json
{
"skills": {
"common-fetcher": {
"enabled": true,
"industry": "coal",
"schedule": "0 8 * * *"
}
}
}
```
## 架构设计
```
┌─────────────────────────────────────────┐
│ Common-Fetcher │
├─────────────────────────────────────────┤
│ Source Layer (采集源层) │
│ ├─ RSS 源 │
│ ├─ 网页源 │
│ └─ API 源 │
├─────────────────────────────────────────┤
│ Fetcher Layer (抓取层) │
│ ├─ RSS Fetcher (并发 + 超时) │
│ ├─ Web Scraper (cheerio) │
│ └─ Cache Manager │
├─────────────────────────────────────────┤
│ Processor Layer (处理层) │
│ ├─ 去重 (标题/URL 哈希) │
│ ├─ 时间过滤 │
│ ├─ AI 评分/分类 │
│ └─ AI 摘要 │
├─────────────────────────────────────────┤
│ Output Layer (输出层) │
│ ├─ Markdown 报告 │
│ ├─ JSON 数据 │
│ └─ 多渠道推送 │
└─────────────────────────────────────────┘
```
## 性能指标
| 解析器 | 文章数/次 | 耗时 | 成功率 |
|--------|-----------|------|--------|
| 观点地产网 | 30 篇 | 605ms | 100% |
| 煤炭资源网 | 30 篇 | 455ms | 100% |
| 房天下 | 17 篇 | 579ms | 100% |
| MIT Tech Review | 9 篇 | 393ms | 100% |
| **总计** | **86 篇/次** | **~2s** | **100%** |
## 配置说明
### 采集源配置
在 `config/` 目录下管理采集源:
- `coal-sources.json` - 煤炭行业采集源
- `realestate-sources.json` - 房地产行业采集源
- `ai-sources.json` - AI 技术采集源
### 解析器开发
自定义解析器参考 `src/parsers/` 目录:
```typescript
export function parseGuandian(html: string, baseUrl: string): Article[] {
// 解析逻辑
}
```
## 开发计划
### 已实现 ✅
- 4 层架构设计
- 6 个解析器(4 个生产就绪)
- 207 个采集源配置
- CLI 工具
- Node.js API
### 进行中 🔄
- 浏览器控制(Playwright)
- AI 验证挑战自动解决
- 缓存机制
### 计划中 ⏳
- 更多行业支持
- 分布式抓取
- 实时监控告警
## 贡献指南
欢迎提交 Issue 和 PR!
1. Fork 项目
2. 创建特性分支
3. 提交改动
4. 推送到分支
5. 创建 Pull Request
## 许可证
MIT License
## 联系方式
- GitHub: [你的 GitHub]
- Moltbook: ClawdOpenClaw20260223
- Email: [你的邮箱]
---
*Common-Fetcher - 为 AI Agent 提供强大的信息采集能力* 🕸️
标签
skill
ai