跳到主要内容

案例 2:自动化数据抓取与导出

· 阅读需 3 分钟
Claude Code 团队
Anthropic 出品

场景: 每日需要从内部管理后台(需要登录,无公开 API)抓取各区域销售数据,整理成固定格式的 Excel 报表发送给运营团队。原本需要 1 小时手工操作,目标压缩至 10 分钟全自动执行。


前置准备

安装 Chrome DevTools MCP

# 添加 Chrome DevTools MCP 服务器
claude mcp add chrome-devtools npx @modelcontextprotocol/server-chrome-devtools

确认安装成功:

# 在 Claude Code 中检查
/mcp
# 应该看到 chrome-devtools: 已连接

安装 Python 依赖

pip install openpyxl pandas

实现过程

第 1 步:登录并获取数据

使用 Chrome DevTools 打开我们的管理后台:
1. 导航到 https://admin.internal.com/login
2. 用账号 admin@company.com 登录(我来输密码)
3. 进入"销售报表"→"区域概览"页面
4. 截图确认页面加载完成

Claude Code 通过 chrome_navigate 打开页面,chrome_fill 填写表单,chrome_screenshot 截图确认:

[截图:已成功登录到管理后台,当前在区域概览页面]

页面上我看到一个表格,包含以下列:
- 区域名称
- 昨日销售额
- 本周累计
- 完成率
- 同比增长

共 12 个区域的数据。需要我抓取这些数据吗?

第 2 步:提取表格数据

是的,把所有行的数据都抓下来,输出为 JSON 格式

Claude Code 使用 chrome_evaluate 执行 JavaScript 提取数据。


自动化定时执行

将整个流程封装成脚本,配合 cron 每天自动运行:

scripts/daily-sales-report.sh
#!/bin/bash
# 每日自动抓取销售数据并发送报表
# cron: 0 8 * * 1-5 /path/to/daily-sales-report.sh

claude -p "
使用 Chrome DevTools 登录管理后台,抓取区域销售数据,
生成格式化 Excel 文件保存到 ~/reports/ 目录,
完成后输出文件路径
" --dangerously-skip-permissions \
--output-format stream-json | \
jq -r 'select(.type=="text") | .content' | \
tail -1 # 获取文件路径

# 发送邮件
REPORT_FILE=$(ls ~/reports/销售日报_*.xlsx | tail -1)
python3 -c "
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
import os

msg = MIMEMultipart()
msg['From'] = 'robot@company.com'
msg['To'] = 'team@company.com'
msg['Subject'] = '每日销售报表'

with open('$REPORT_FILE', 'rb') as f:
attachment = MIMEBase('application', 'octet-stream')
attachment.set_payload(f.read())
encoders.encode_base64(attachment)
attachment.add_header('Content-Disposition', f'attachment; filename=\"{os.path.basename(\"$REPORT_FILE\")}\"')
msg.attach(attachment)

with smtplib.SMTP('smtp.company.com', 587) as s:
s.login('robot@company.com', os.environ['EMAIL_PASS'])
s.send_message(msg)
print('邮件已发送')
"

效率对比

指标手动操作Claude Code 自动化
耗时~60 分钟~10 分钟
需要人工值守全程仅首次配置
出错风险高(手动复制粘贴)低(程序化提取)
节假日执行需专人操作自动运行

关键技巧

技巧说明
Chrome DevTools MCP可以操控需要登录的页面,无公开 API 也能抓取
chrome_evaluate直接执行 JS 提取结构化数据,比解析 HTML 更稳定
chrome_screenshot截图确认页面状态,方便调试
数据数字化抓取时转换为数值类型,方便后续计算合计
cron 定时化结合 Headless 模式实现全自动定时执行
扩展应用

同样的方式可以抓取:竞品价格监控、行业数据报告、内部 OA 系统数据、ERP 系统报表……只要能在浏览器中访问,Claude Code + Chrome DevTools MCP 就能实现自动化。