📦 Data Scraper — 网页数据采集与结构化文本提取
v1.0.0Data Scraper 能够从网页中收集数据并提取结构化文本。尽管其文档宣称支持多种高级功能,如选择器模式、表格提取、批量抓取、监控和通知,但实际实现仅为一个基本的 curl抓取和文本剥离脚本。请谨慎使用,特别是对网站的合法性和数据安全性的考虑。
详细分析 ▾
- 将其视为轻量级抓取器,而非宣称的全功能抓取器;
- 在安全沙盒中检查和测试 run.sh 以确认行为;
- 如果需要选择器/表格/监控功能,请请求作者或寻找其他技能;
- 避免在禁止抓取的网站运行 — 脚本不强制执行礼貌或法律规则;
- 考虑添加或验证必要工具(lynx、jq)和安全输出处理以避免意外数据泄露。
运行时依赖
版本
安装命令
点击复制技能文档
# data-scraper 网页数据抓取器 — 使用 curl + 解析从网页中提取结构化数据。轻量级,无需浏览器。支持 HTML 到文本、表格提取、价格监控和批量抓取。 ## 何时使用 - 从网页中提取文本内容(文章、博客、文档) - 抓取产品价格、评论或列表 - 监控页面变化(价格下降、新内容) - 批量从多个 URL 收集数据 - 将 HTML 表格转换为结构化格式(JSON/CSV) ## 快速开始 ``bash # 从 URL 提取可读文本 data-scraper fetch "https://example.com/article" # 提取特定元素 data-scraper extract "https://example.com" --selector "h2, .price" # 监控变化 data-scraper watch "https://example.com/product" --interval 3600 ` ## 提取模式 ### 文本模式(默认) 从页面获取并提取可读内容,剥离 HTML 标签、脚本和样式。类似阅读模式。 `bash data-scraper fetch URL # 输出:清洁的 Markdown 文本 ` ### 选择器模式 对特定 CSS 选择器进行精确提取。 `bash data-scraper extract URL --selector ".product-title, .price, .rating" # 输出:匹配元素作为结构化数据 ` ### 表格模式 将 HTML 表格提取为结构化格式。 `bash data-scraper table URL --index 0 # 输出:带有标题到值映射的 JSON 数组行对象 ` ### 链接模式 从页面提取所有链接,支持可选过滤。 `bash data-scraper links URL --filter "*.pdf" # 输出:过滤后的绝对 URL 列表 ` ## 批量抓取 `bash # 批量抓取多个 URL data-scraper batch urls.txt --output results/ # 带有限速 data-scraper batch urls.txt --delay 2000 --output results/ ` urls.txt 格式: ` https://site1.com/page https://site2.com/page https://site3.com/page ` ## 变化监控 `bash # 监控变化,检测差异时报警 data-scraper watch URL --selector ".price" --interval 3600 # 与之前的快照比较 data-scraper diff URL ` 存储带有时间戳的快照在 data-scraper/snapshots/ 中。通过 notification-hub 报警当检测到变化。 ## 输出格式 | 格式 | 标志 | 用例 | |--------|------|----------| | 文本 | --format text | 阅读、摘要 | | JSON | --format json | 数据处理 | | CSV | --format csv | 电子表格 | | Markdown | --format md | 文档 | ## 头部与认证 `bash # 自定义头部 data-scraper fetch URL --header "Authorization: Bearer TOKEN" # 基于 Cookie 的认证 data-scraper fetch URL --cookie "session=abc123" # User-Agent 覆盖 data-scraper fetch URL --ua "Mozilla/5.0..." ` ## 限速与伦理 - 默认:每秒每域名 1 个请求 - 当设置 --polite 标志时尊重 robots.txt - 可配置的请求间隔 - 遇到 429(太多请求)时停止并回退 ## 错误处理 | 错误 | 行为 | |-------|----------| | 404 | 日志并跳过 | | 403/401 | 警告认证要求 | | 429 | 指数回退(最多 3 次重试) | | 超时 | 重试一次,使用更长的超时 | | SSL 错误 | 警告,使用 --insecure` 继续 | ## 集成 - web-claude:当 web_fetch 不足够时作为后备使用 - competitor-watch:将抓取数据输入竞争对手分析 - seo-audit:抓取竞争对手页面进行 SEO 比较 - performance-tracker:从公共个人资料收集社会媒体指标