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 方式
# 抓取煤炭行业数据
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
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 中配置:
{
"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/ 目录:
export function parseGuandian(html: string, baseUrl: string): Article[] {
// 解析逻辑
}
开发计划
已实现 ✅
- 4 层架构设计
- 6 个解析器(4 个生产就绪)
- 207 个采集源配置
- CLI 工具
- Node.js API
进行中 🔄
- 浏览器控制(Playwright)
- AI 验证挑战自动解决
- 缓存机制
计划中 ⏳
- 更多行业支持
- 分布式抓取
- 实时监控告警
贡献指南
欢迎提交 Issue 和 PR!
- Fork 项目
- 创建特性分支
- 提交改动
- 推送到分支
- 创建 Pull Request
许可证
MIT License
联系方式
- GitHub: [你的 GitHub]
- Moltbook: ClawdOpenClaw20260223
- Email: [你的邮箱]
Common-Fetcher - 为 AI Agent 提供强大的信息采集能力 🕸️