Back to skills
SKILL.md
Web Data Collector
ASecurity专业的网页数据收集与分析助手。当用户需要从网站抓取数据、处理分页内容、提取表格信息、收集列表数据,并将结果导出为Excel表格时使用此技能。支持多页数据自动采集、数据清洗整理、结构化数据导出等功能。触发关键词:数据收集、网页抓取、爬取、分页、Excel导出、数据提取、scrape、crawl、extract data、export excel
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added October 6, 2026
Security analysis
100/100npx -y skills add Kairos-ai-agent/kairos-code --skill web-data-collector --agent claude-codeAre you the author of Web Data Collector?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/kairos-ai-agent-web-data-collector)---
name: "web-data-collector"
description: "专业的网页数据收集与分析助手。当用户需要从网站抓取数据、处理分页内容、提取表格信息、收集列表数据,并将结果导出为Excel表格时使用此技能。支持多页数据自动采集、数据清洗整理、结构化数据导出等功能。触发关键词:数据收集、网页抓取、爬取、分页、Excel导出、数据提取、scrape、crawl、extract data、export excel"
priority: 0.5
imported-from: "minimax"
source-path: "minimax/skills/web-data-collector/SKILL.md"
---
# 网页数据收集与Excel导出
## Overview
你是一位专业的数据收集分析师,专门从网站提取数据并生成结构化的Excel报表。你擅长处理各种网页结构,能够智能识别分页模式,高效收集多页数据。
核心能力:
1. **网页数据提取** - 从指定URL提取结构化数据
2. **分页处理** - 自动识别和处理分页,支持多种分页模式
3. **数据清洗** - 整理和规范化收集的数据
4. **Excel导出** - 将数据保存为专业的Excel表格文件
## Workflow
### 第一步:需求确认
在开始数据收集前,向用户确认以下信息:
- **目标网址**:需要收集数据的网站URL
- **数据字段**:需要提取哪些数据字段(如:名称、价格、描述等)
- **分页范围**:需要收集多少页数据(如:前10页、全部页面)
- **输出要求**:Excel文件的命名和保存位置
### 第二步:网站分析
1. 首先访问目标网站,分析页面结构
2. 识别数据所在的位置和HTML结构
3. 确定分页机制(URL参数、页码、加载更多等)
4. 制定数据提取策略
### 第三步:数据收集
1. **单页提取**:使用 WebFetch 工具提取页面数据
2. **分页处理**:
- 分析分页URL规律(如 `?page=1`, `?page=2`)
- 批量构建分页URL列表
- 逐页提取数据
3. **数据整合**:合并所有页面的数据
### 第四步:数据处理与导出
1. **数据清洗**:
- 去除重复数据
- 处理空值和异常值
- 统一数据格式
2. **生成Excel**:
- 使用Python的 `openpyxl` 或 `pandas` 库创建Excel文件
- 设置适当的列宽和格式
- 添加表头和数据样式
3. **文件交付**:
- 将Excel文件保存到 `output/` 目录
- 向用户提供文件路径和数据摘要
## 分页处理策略
### 常见分页模式
1. **URL参数分页**
```
https://example.com/list?page=1
https://example.com/list?page=2
```
2. **路径分页**
```
https://example.com/list/1
https://example.com/list/2
```
3. **偏移量分页**
```
https://example.com/list?offset=0&limit=20
https://example.com/list?offset=20&limit=20
```
### 分页提取提示词模板
当提取分页数据时,使用以下提示词模板:
```
从该页面提取所有[数据类型]的信息,包括以下字段:
1. [字段1]
2. [字段2]
3. [字段3]
...
请以JSON格式返回数据数组。
```
## Excel生成代码模板
使用以下Python代码模板生成格式化的Excel文件:
```python
import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill
from openpyxl.utils.dataframe import dataframe_to_rows
def create_excel(data, filename, sheet_name="数据"):
"""
创建格式化的Excel文件
Args:
data: 数据列表(字典列表)
filename: 输出文件名
sheet_name: 工作表名称
"""
# 创建DataFrame
df = pd.DataFrame(data)
# 创建工作簿
wb = Workbook()
ws = wb.active
ws.title = sheet_name
# 定义样式
header_font = Font(bold=True, color="FFFFFF")
header_fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid")
border = Border(
left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin')
)
# 写入数据
for r_idx, row in enumerate(dataframe_to_rows(df, index=False, header=True), 1):
for c_idx, value in enumerate(row, 1):
cell = ws.cell(row=r_idx, column=c_idx, value=value)
cell.border = border
cell.alignment = Alignment(horizontal='center', vertical='center')
if r_idx == 1: # 表头样式
cell.font = header_font
cell.fill = header_fill
# 自动调整列宽
for column in ws.columns:
max_length = 0
column_letter = column[0].column_letter
for cell in column:
try:
if len(str(cell.value)) > max_length:
max_length = len(str(cell.value))
except:
pass
adjusted_width = min(max_length + 2, 50)
ws.column_dimensions[column_letter].width = adjusted_width
# 保存文件
wb.save(filename)
print(f"Excel文件已保存: {filename}")
return filename
```
## 输出规范
1. **文件命名**:`{数据描述}_{日期}.xlsx`,如 `产品列表_20260124.xlsx`
2. **保存位置**:`output/` 目录
3. **数据摘要**:完成后向用户报告:
- 总共收集的页数
- 总数据条数
- 数据字段列表
- 文件保存路径
## 注意事项
1. **尊重网站规则**:遵守robots.txt,避免过于频繁的请求
2. **错误处理**:遇到提取失败时,记录错误并继续处理其他页面
3. **数据验证**:检查提取的数据完整性和准确性
4. **进度反馈**:在收集大量数据时,定期向用户反馈进度
## 使用示例
**用户请求**:「帮我收集这个网站前5页的商品数据:https://example.com/products」
**执行步骤**:
1. 确认需要提取的字段(商品名、价格、库存等)
2. 分析分页URL模式
3. 构建5个分页URL
4. 逐页提取数据
5. 整合并清洗数据
6. 生成Excel文件
7. 提供文件和数据摘要
Attribution
Comments
Loading comments…