Appearance
Everything Claude Code 的 Data Scraper Agent Skill 是一套生产级、全自动的数据采集与智能分析解决方案。它让开发者无需付费服务器,即可定时抓取任意公开网站或 API,批量用 Gemini Flash LLM 进行打分、摘要、分类,并将结果自动存储到 Notion、Google Sheets 或 Supabase。整个流程可在 GitHub Actions 免费运行,且支持用户反馈学习,持续优化采集效果,适合监控招聘、价格、新闻、开源等多种场景。
Everything Claude Code Data Scraper Agent Skill:全自动公开数据采集、Gemini Flash 丰富数据与 GitHub Actions 运行
在 AI 编程助手体系(如 Claude Code、Codex、Cursor)中,自动化采集和管理公开数据源是许多开发者的刚需——无论是监控招聘信息、商品价格、新闻资讯、GitHub 新项目,还是跟踪体育赛事、活动日历等。传统做法往往需要自建服务器、手动维护脚本、处理 API 限额和存储,门槛高且维护成本大。
Data Scraper Agent Skill 正是为此场景而生。它提供了一个「全自动、可学习、零成本」的数据采集 Agent 架构:
- 定时抓取任意公开数据源(网站/API/RSS),支持 REST、HTML、RSS、JS 渲染等多种模式。
- 用 Gemini Flash(免费 LLM)批量丰富数据,实现自动打分、摘要、分类、筛选。
- 结果自动存储到 Notion、Google Sheets、Supabase 等,便于后续分析和人工审核。
- 全流程运行在 GitHub Actions,无需自建服务器,公有仓库完全免费。
- 持续学习用户反馈,自动调整打分和筛选标准,越用越智能。
本指南将带你从 0 到 1,系统掌握如何在实际项目中用好 Data Scraper Agent Skill,显著提升 AI 辅助编程与数据运营效率。
1. 解决了哪些痛点?对比传统做法
未用本 Skill 时:
- 需手写爬虫脚本,手动调度、维护、处理反爬、存储、去重等细节;
- 服务器托管和定时任务需额外付费和运维;
- 想要智能筛选、分类、摘要,需复杂规则或自建 LLM 接口,成本高;
- 用户反馈无法自动反哺采集逻辑,需手动调整代码。
用 Data Scraper Agent Skill 后:
- 一套目录结构和模板,快速适配任何公开数据源;
- 定时任务全托管在 GitHub Actions,免费、易用、可回溯;
- Gemini Flash LLM 免费额度内自动批量处理数据,支持多模型降级容错;
- 结果一键同步到 Notion/Sheets/Supabase,自动去重;
- 用户反馈(如“已保存”“跳过”)自动学习,持续优化筛选和打分;
- 所有配置均在
config.yaml,无需改代码即可调整采集策略。
典型应用场景:
- 监控招聘网站,自动筛选与简历匹配的职位并推送到 Notion;
- 跟踪商品价格,自动发现降价并邮件/IM 通知;
- 汇总 GitHub 新项目,自动生成摘要和相关性评分;
- 新闻、论坛、学术论文等内容聚合与情感分析;
- 赛事数据、活动日历、房产/二手房源等自动采集与分类。
2. 触发条件与适用时机
Data Scraper Agent Skill 会在以下场景被自动建议或激活:
- 用户明确表示要采集、监控、追踪公开网站或 API的数据;
- 用户提出“帮我监控 XX”、“收集 XX 数据”、“自动同步 XX 信息”等需求;
- 需要定时批量采集,并按自定义规则筛选、分类、摘要;
- 希望无需付费托管,全流程自动化、可持续运行;
- 需要采集结果自动存储到 Notion、Sheets、Supabase 等,便于后续分析或协作;
- 希望采集逻辑能持续学习用户偏好,越用越精准。
如果你刚接触 Everything Claude Code,可以先参考快速上手指南,了解 Skill/Agent/Hook 的基础用法。
3. 实战操作流程 Step by Step
Step 1:明确采集目标
在项目初始化时,AI 会自动引导你梳理以下五个关键问题:
- 采集什么?(目标数据源、URL、API、RSS)
- 提取哪些字段?(如标题、价格、链接、时间、得分等)
- 结果存储到哪里?(Notion、Sheets、Supabase、本地文件等)
- 是否需要 AI 丰富?(打分、摘要、分类、匹配等智能处理)
- 采集频率?(每小时、每天、每周等)
示例对话:
“帮我定时抓取 Hacker News 上关于 AI 创业融资的新闻,自动摘要并同步到 Notion,每天一次。”
Step 2:生成项目目录结构
Skill 会自动为你生成如下目录与文件,便于后续扩展和维护:
my-agent/
├── config.yaml # 采集规则、优先级、存储方式等全部配置
├── profile/context.md # 用户偏好/简历/筛选标准,供 AI 丰富参考
├── scraper/ # 数据源适配与采集主逻辑
│ ├── main.py
│ ├── filters.py
│ └── sources/
├── ai/ # Gemini Flash 客户端与批量处理
├── storage/ # 存储适配(Notion/Sheets/Supabase)
├── data/feedback.json # 用户反馈历史,自动学习
├── .github/workflows/ # GitHub Actions 定时任务配置所有用户可调参数都集中在 config.yaml,无需修改代码。
Step 3:开发数据源采集模块
以 REST API 为例,采集模块模板如下:
python
# scraper/sources/my_source.py
import requests
from bs4 import BeautifulSoup
from datetime import datetime, timezone
from scraper.filters import is_relevant
def fetch() -> list[dict]:
results = []
resp = requests.get("https://api.example.com/items", timeout=15)
if resp.status_code == 200:
for item in resp.json().get("results", []):
if not is_relevant(item.get("title", "")):
continue
results.append({
"name": item.get("title", ""),
"url": item.get("link", ""),
"source": "MySource",
"date_found": datetime.now(timezone.utc).date().isoformat(),
# 可扩展更多字段
})
return resultsSkill 还支持 HTML、RSS、分页 API、JS 渲染(Playwright)等多种采集模式,详见下方“常见采集模式”。
Step 4:集成 Gemini Flash AI 丰富与批量处理
- 支持 Gemini Flash 多模型自动降级,免费额度下稳定运行;
- 强制批量处理(如每 5 条一次),避免 API 限额;
- 支持自定义打分、摘要、分类、匹配等多种智能处理;
- AI 丰富逻辑可自动参考用户简历、偏好、历史反馈。
批量调用示例:
python
from ai.pipeline import analyse_batch
enriched = analyse_batch(items, context=profile, preference_prompt=feedback)Step 5:自动学习用户反馈,持续优化
- 每次采集后,Skill 会自动同步用户在 Notion/Sheets 等的“已保存/已跳过”状态;
- 这些反馈会写入
data/feedback.json,并在下次 AI 丰富时自动作为 Prompt 提示,优化打分和筛选效果; - 支持正/负样本最大 15 条,自动截断,保证 Prompt 精简高效。
Step 6:结果自动存储与去重
- Skill 支持 Notion、Google Sheets、Supabase 等主流存储,自动去重(按 URL),避免重复写入;
- 存储字段自动映射,包括 AI 打分、摘要、备注等,便于后续人工筛查或自动化处理;
- 支持自定义字段扩展。
Step 7:GitHub Actions 定时自动运行
- Skill 自动生成
.github/workflows/scraper.yml,支持定时(如每 3 小时)和手动触发; - 运行完成后自动提交
feedback.json,保证学习历史持续更新; - 所有 Secrets(API Key、Token)通过 GitHub Secrets 管理,安全合规。
Actions 片段示例:
yaml
on:
schedule:
- cron: "0 */3 * * *" # 每 3 小时运行
workflow_dispatch:
jobs:
scrape:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- run: pip install -r requirements.txt
- name: Run agent
env:
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: python -m scraper.mainStep 8:配置与扩展
- 所有采集、筛选、AI、存储参数均在
config.yaml配置,无需改代码即可调整; - 支持多数据源、多存储、优先级权重、反馈状态自定义等扩展;
- 可结合Agent Harness Construction Skill 设计更复杂的 Agent 行为空间。
Step 9:质量与安全保障
- 强制 URL 去重、API 调用速率限制、批量处理,防止被封禁或超额;
- 所有敏感信息均通过
.env和 GitHub Secrets 管理,杜绝明文泄漏; - 采集逻辑自动尊重 robots.txt,优先使用公开 API;
- 提供
.env.example、requirements.txt、setup.py等完整上手模板。
输出示例
采集结果自动存储到 Notion,字段包括:
| Name | URL | Source | Date Found | AI Score | Summary | Notes |
|---|---|---|---|---|---|---|
| AI Startup Raises $10M | https://news.ycombinator... | HN News | 2024-06-01 | 92 | 符合 AI 创业融资标准 | 近期有多轮融资 |
| ... | ... | ... | ... | ... | ... | ... |
4. 常见配套 Agent 与 Skill 协作
- 与 Agent Harness Construction Skill:可将多个数据采集 Agent 统一编排,支持多源融合、并行采集与验证。
- 与 Continuous Learning v2 Skill:实现更细粒度的反馈学习与置信度评分,提升筛选精准度。
- 与 Verification Loop Skill:实现采集→AI 丰富→人工/自动审核→反馈学习的闭环。
- 与 Security Reviewer Agent:自动审查采集脚本与存储流程的安全性,防止敏感数据外泄。
5. 常见采集模式(代码片段参考)
- REST API:
requests.get(url).json() - HTML Scraping:
BeautifulSoup(resp.text, "lxml") - RSS Feed:
xml.etree.ElementTree.fromstring(resp.text) - 分页 API:循环 page 参数,自动合并
- JS 渲染页面:
playwright+BeautifulSoup二次解析
6. 反模式与注意事项
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 单条 LLM 调用 | 极易超限、速度慢 | 批量处理(如每 5 条一次) |
| 关键字硬编码 | 不可复用、难维护 | 全部写入 config.yaml |
| 不限速采集 | 容易被封禁 | 加 sleep、限速 |
| 明文存储密钥 | 安全风险 | 用 .env + GitHub Secrets |
| 不去重 | 数据重复、存储膨胀 | 按 URL 去重 |
| 忽略 robots.txt | 合规风险 | 优先用公开 API |
| JS 页面用 requests | 抓不到真实内容 | 用 Playwright |
| maxOutputTokens 太低 | LLM 输出截断、解析失败 | 设为 2048+ |
FAQ
Q: Data Scraper Agent Skill 需要付费服务器或云服务吗?
A: 不需要,所有流程可 100% 免费运行在 GitHub Actions(公有仓库无限量)。
Q: 如何让采集结果更贴合我的需求?
A: 通过完善 profile/context.md(如上传简历、兴趣)和在 Notion/Sheets 等标记“已保存/已跳过”,Skill 会自动学习并优化打分和筛选。
Q: 支持哪些数据源和存储?
A: 支持任意公开网站、REST API、RSS、JS 渲染页面(Playwright),存储支持 Notion、Google Sheets、Supabase 等主流平台。
Q: 免费 LLM 有调用上限吗?
A: Gemini Flash 免费额度每日 500-1500 次,Skill 默认批量处理并自动降级,正常使用完全足够。