核心用法
Search Cluster 是一个工业级多源搜索聚合器,通过统一接口整合三大搜索提供商:
- Google Custom Search:官方 API,结果权威可靠
- Google News RSS:实时新闻聚合,适合时效性查询
- Scrapling:基于 DuckDuckGo 的隐形无头浏览器爬虫,无需 API 密钥
使用方式简单直接:执行 scripts/search-cluster.py all "<query>" 即可并行调用所有提供商,输出结构化 JSON(含来源、标题、链接及净化摘要)。
显著优点
| 维度 | 优势 |
|------|------|
| **高可用性** | 多提供商冗余,单点故障自动降级 |
| **安全隔离** | 子进程隔离输入,严格 TLS 验证,内置 Path Neutral 净化器 |
| **零成本备选** | Scrapling 路径无需 API 费用 |
| **标准化输出** | 统一 JSON 格式,便于下游处理 |
| **缓存支持** | 可选 Redis 缓存,提升响应效率 |
潜在缺点与局限性
1. 配置复杂度:Scrapling 需独立虚拟环境及环境变量配置,部署门槛高于单一 API 方案
2. 速率限制:Google CSE 有每日查询配额,高频场景需成本规划
3. Scrapling 稳定性:依赖 DuckDuckGo 页面结构,存在因目标站点反爬或改版导致的失效风险
4. 法律灰色地带:隐形爬虫可能违反部分网站 ToS,需评估合规性
适合人群
- 需要多源交叉验证的研究人员与情报分析师
- 追求成本优化的开发者(Scrapling 免 API 费)
- 对安全隔离有硬性要求的企业级场景
常规风险
| 风险类型 | 说明 |
|---------|------|
| 合规风险 | Scrapling 模式需确认目标站点 robots.txt 及服务条款 |
| 数据泄露 | API 密钥(GOOGLE_API_KEY/CSE_ID)需妥善保管 |
| 依赖维护 | Scrapling 虚拟环境需独立维护,版本漂移可能导致故障 |
| 缓存失效 | Redis 配置不当可能导致过期数据返回 |