名称: tabstack-extractor
描述: 使用 Tabstack API 从网站提取结构化数据。适用于需要抓取职位列表、新闻文章、产品页面或任何结构化网页内容的场景。提供基于 JSON 模式的数据提取和干净的 Markdown 转换。需要 TABSTACK_API_KEY 环境变量。
此技能使用 Tabstack API 从网站提取结构化数据。它非常适合需要从招聘网站、新闻站点、产品页面或任何结构化内容中提取基于模式的一致数据的网页抓取任务。
# 选项 A:从 GitHub 安装(推荐用于共享)
curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash
# 选项 B:从 Nix 安装
nix-shell -p babashka
# 选项 C:从 Homebrew 安装
brew install borkdude/brew/babashka
选项 A:环境变量(推荐)
export TABSTACK_API_KEY="你的_api_密钥_在这里"
选项 B:配置文件
mkdir -p ~/.config/tabstack
echo '{:api-key "你的_api_密钥_在这里"}' > ~/.config/tabstack/config.edn
获取 API 密钥: 在 Tabstack 控制台 注册。
bb scripts/tabstack.clj test
bb scripts/tabstack.clj markdown "https://example.com"
# 使用简单模式开始(快速、可靠)
bb scripts/tabstack.clj json "https://example.com" references/simple_article.json
# 尝试更复杂的模式(可能较慢)
bb scripts/tabstack.clj json "https://news.site" references/news_schema.json
# 带重试逻辑的提取(重试 3 次,延迟 1 秒)
bb scripts/tabstack.clj json-retry "https://example.com" references/simple_article.json
# 带缓存的提取(24 小时缓存)
bb scripts/tabstack.clj json-cache "https://example.com" references/simple_article.json
# 从 URL 文件批量提取
echo "https://example.com" > urls.txt
echo "https://example.org" >> urls.txt
bb scripts/tabstack.clj batch urls.txt references/simple_article.json
从任何网页提取干净、可读的 Markdown 格式内容。适用于内容分析、摘要生成或存档。
使用场景: 当你需要页面的文本内容,而不需要杂乱的 HTML 代码时。
示例用例:
- 提取文章内容以生成摘要
- 存档网页内容
- 分析博客文章内容
使用 JSON 模式提取结构化数据。精确定义你所需的数据,并以一致的格式获取。
使用场景: 抓取职位列表、产品页面、新闻文章或任何结构化数据时。
示例用例:
- 从 BuiltIn/LinkedIn 抓取职位列表
- 从电商网站提取产品详情
- 收集具有一致元数据的新闻文章
为常见抓取任务提供预构建的模式。请参阅 references/ 目录中的模板。
可用模式:
- 职位列表模式(见 references/job_schema.json)
- 新闻文章模式
- 产品页面模式
- 联系信息模式
按照此工作流抓取职位列表:
references/job_schema.json 或自定义职位模式示例:
{
"type": "object",
"properties": {
"title": {"type": "string"},
"company": {"type": "string"},
"location": {"type": "string"},
"description": {"type": "string"},
"salary": {"type": "string"},
"apply_url": {"type": "string"},
"posted_date": {"type": "string"},
"requirements": {"type": "array", "items": {"type": "string"}}
}
}
web_search 查找相关 URLbrowser 工具导航复杂网站常见问题及解决方案:
TABSTACK_API_KEY 环境变量tabstack.clj - Babashka 中的主 API 包装器(推荐,包含重试逻辑、缓存、批量处理)tabstack_curl.sh - Bash/curl 备用方案(简单,无依赖)tabstack_api.py - Python API 包装器(需要 requests 模块)job_schema.json - 职位列表模板模式api_reference.md - Tabstack API 文档此技能旨在教会智能体如何有效使用 Tabstack API。关键在于学会为不同网站创建合适的 JSON 模式。
references/simple_article.json(4 个基本字段)详细说明和示例请参阅 模式创建指南。
为此技能使用 Babashka 提供以下优势:
触发此技能的请求示例:
- “从 Docker 招聘页面抓取职位列表”
- “从这篇文章中提取主要内容”
- “从这个电商页面获取结构化产品数据”
- “从这个网站拉取所有新闻文章”
- “从这个公司页面提取联系信息”
- “从这 20 个 URL 批量提取职位列表”
- “获取此页面的缓存结果(避免 API 调用)”