mcpField
D
data-acquisition-specialist

data-acquisition-specialist

github.com/lensetek数据与数据库56 次安装
代码仓库

关于 data-acquisition-specialist

面向科学研究的 Agent 数据采集技能,结合 Python 库与网页抓取获取真实数据,并以结构化文件和元数据保存。

主要功能

  1. 01金融、经济与机器学习数据库
  2. 02通过 HTTP 和 API 采集
  3. 03浏览器自动化回退
  4. 04输出 CSV、JSON 或 SQLite
  5. 05记录数据来源与字段说明

适用场景

  1. 01采集企业历史财务报告
  2. 02获取市场或经济数据集
  3. 03保存抓取数据以供后续分析

MCP 相关

遇到动态网页或 HTTP 访问受阻时,可调用 `chrome-devtools` MCP 服务进行浏览器导航和网络检查。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lensetek/research-agent-skills-collection --skill data-acquisition-specialist

安装后在 Claude Code 中输入/data-acquisition-specialist确认已加载。

详细介绍

数据采集专家

概述

此技能负责收集并提供科学研究所需的原始数据集。此技能结合使用官方 Python 库(例如用于股票数据的 yfinance、用于 FRED/World Bank 经济数据的 pandas-datareader、用于加密货币的 ccxt,以及用于机器学习的 datasets),并使用 BeautifulSoup、Selenium、Playwright 或 Scrapy 自由编写高级网页抓取脚本,不受限制地进行抓取(unrestricted scraping)。

依赖项

  • 使用标准 Python 库和第三方库进行网页抓取和数据采集。
  • Agent 可以通过终端以编程方式安装缺少的 Python 依赖项。

快速开始

使用示例: “使用 data-acquisition-specialist 技能,从网页 Y 抓取公司 X 的历史财务报表数据,并保存为 CSV 格式。”

网页抓取与数据提取规则(绝对规则)

根据用户指示,Agent 在实现抓取方法时享有完全自由,并采用**双模式(混合)**策略:

  1. 不受限制的抓取(速度优先):优先使用轻量方法,例如官方或非官方 API,或静态 HTTP 请求(Python 中的 urllib、requests 或 BeautifulSoup),因为这些方法速度快得多且资源占用更少。可使用各种伪装策略,例如伪造 User-Agent,以及处理 session/cookies。
  2. 动态内容与机器人防护回退(稳健性优先):如果数据通过 JavaScript 动态加载、网站受到机器人防护(例如基础版 Cloudflare)或需要复杂的 UI 交互:
    • 必须回退到使用 MCP 服务 chrome-devtools 进行浏览器自动化。
    • 零失败自动配置规则:如果 chrome-devtools 尚未激活,Agent 禁止回答“not installed”。Agent 必须立即按需自动触发:npx -y chrome-devtools-mcp@latest 或 py bin/mcp_auto_updater.py。
    • 使用 puppeteer_navigate、puppeteer_click 或 network_get_requests 等工具,在可能的情况下动态检查网络负载,而不是粗略地解析 DOM。
  3. 高级 GUI 与桌面应用回退(极端防护):如果抓取受高级验证码、桌面软件验证阻碍,或需要对特定应用的 GUI 进行自动化操作,请使用 computer-use 技能(stablyai/orca@computer-use,并自动回退到视觉 AI)直接控制鼠标和键盘。
  4. 结构化存储:提取/抓取的数据必须整齐地保存在项目目录中,并使用结构化格式:.csv、.json 或 .sqlite 数据库(根据数据量选择)。
  5. 元数据架构:每份成功获取的数据都必须附带一个小型元数据文件(例如 [nama_dataset]_metadata.json),记录:
    • 来源 URL。
    • 数据采集日期。
    • 列/数据架构说明。
  6. 防止幻觉与虚构数据(致命规则):严禁使用静态代码(例如自行创建 DataFrame)制作或生成虚假的 CSV/JSON 文件。必须从目标网站/API 获取真实数据。如果访问受阻,或尝试两种模式后仍无法提取数据,请向用户报告错误并停止处理。

API 与库集成

如果以下库可用,请使用它们加快可信数据的获取:

  • 金融市场:yfinance(Yahoo Finance)、ccxt(加密货币交易所 API)。
  • 经济与社会:pandas_datareader(连接 FRED、World Bank、OECD)。
  • 机器学习与 NLP:datasets(Hugging Face Datasets)、kaggle(Kaggle API)。

工作流执行

  1. 识别需求:了解用户要查找的数据,或研究工作流所需的数据。
  2. 选择方法并执行混合路径:
    • 步骤 A(HTTP/API 模式):使用 requests/BeautifulSoup 编写 Python 脚本,快速下载数据。
    • 步骤 B(Chrome DevTools 回退方案):如果步骤 A 被拦截、无法渲染动态内容或触发错误页面,则通过 chrome-devtools MCP 操作 Chrome 浏览器,以交互方式浏览页面并提取数据。
  3. 编写 Python 脚本 / 自动化 DevTools:在项目文件夹中编写独立的 Python 脚本,或使用 DevTools 的可视化命令,处理从开始抓取数据到最终保存的整个流程。
  4. 执行并验证:运行脚本或自动化流程,然后确认生成的数据文件有效且未损坏。
  5. 输出:向用户说明数据文件的保存位置,并描述其列。

常见错误

  • 超时设置为固定值:使用过短的固定等待时间(sleep),导致连接缓慢时抓取失败。应使用动态等待处理机制(explicit waits/DevTools dynamic load events)。
  • 丢失结构:保存原始数据,却不将其转换为结构化表格格式,导致后续分析困难。
  • 忽略验证码 / 保护机制:遭到拦截时直接放弃。应始终使用 Chrome DevTools MCP 回退方案模拟真实浏览器会话,然后再判定是否失败。

评论

支持 Markdown