开发与工程 web-crawlingcontent-extractionnodejsbounded-crawllink-followingsearch-within-page

微型网页爬虫技能

从起始网页开始,抓取可读内容、在页面内搜索、跟踪相关链接,并在找到目标信息或达到边界限制时停止。

FollowSkills 评估 · FSRS-2.0
不推荐
54/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全12 / 25 · 2.4/5

该技能在执行网络抓取时会访问外部网站,没有向用户确认,但技能明确限制了抓取页面数和深度,且不涉及敏感数据处理。脚本仅请求页面内容,未发现网络请求之外的外部副作用。数据流透明:技能描述和脚本日志清晰展示抓取过程。但缺少对该技能访问外部网站的额外权限控制或用户确认机制,因此扣分。

2可靠稳定10 / 20 · 2.5/5

脚本逻辑自洽,能处理输入缺失和网络错误,但静态审查无法验证实际运行,且依赖外部网站可达性,存在不确定性。故按静态审查上限给分。

3适用触发10 / 15 · 3.3/5

技能场景清晰,适用范围明确,但未说明对海外网站的依赖及其在中国大陆的可用性,对中文用户存在潜在不可达风险。

4规范维护10 / 15 · 3.3/5

文档结构清晰,包含使用示例、参数说明和限制,但缺少变更日志、版本历史和明确的维护责任,且技能版本与仓库版本不一致。

5有效结果7 / 15 · 2.3/5

技能设计能够完成抓取任务,有明确的目标和预期输出,但静态审查无法验证输出质量,且未提供实际使用案例,因此按静态审查上限给分。

6证据核验5 / 10 · 2.5/5

仓库内有CI工作流,但未覆盖该技能的测试,也没有针对技能独立运行的测试套件,主要证据为代码和文档,静态审查无法执行,因此按静态审查上限给分。

证据充分度: 评估于 2026年8月7日 审查版本 ed5cfc5b9ccb
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 该技能会访问外部网站,可能受到网络限制或网站反爬机制的影响。
  • 未明确提及对境外服务的依赖,建议在描述中说明在中国大陆的可用性。
  • 技能未内置用户确认或权限控制机制,使用时应保持警惕。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能提供一个有界网页爬虫,能够从一个或多个起始网址出发,提取紧凑的可读文本、链接和查询片段。它支持在抓取的页面内容中搜索特定名称、短语、日期等,并优先跟踪相关的内部链接。内置两个 Node.js 脚本:fetch-page.mjs 用于单页检查,crawl-web.mjs 用于多页有界爬取。爬虫会通过设置最大页数、最大深度和同域限制来控制范围,并在找到目标信息或达到限制时提前停止。该技能在 Leon 个人助理仓库中以 agent 技能形式提供,遵循标准的 SKILL.md 格式。

运行两个 Node.js 脚本:crawl-web.mjs 从一个或多个起始 URL 开始,遵循相关链接,直到达到限制或找到强匹配;fetch-page.mjs 抓取单个页面并提取紧凑的文本预览、查询片段、链接和分块信息。脚本使用 Leon 管理的 Node.js 二进制或系统 PATH 上的 node。该技能记录访问过的 URL,避免重复,并在达到限制时报告已检查的内容和未解决的部分。

  1. 开发者需要从多个相关网页中查找特定信息,例如 API 文档中的函数用法或变更日志中的版本号。
  2. 研究人员需要从官方网站或文档中提取产品定价、发布日期等特定数据,并希望引用主要来源。
  3. 自动化测试人员需要验证网页内容是否包含特定文本或链接,作为回归测试的一部分。
  4. 内容创作者需要从多个来源收集资料,并希望避免无关页面,只关注相关链接。
  5. 需要离线或本地搜索信息的隐私敏感型用户,该技能可在本地运行且不依赖外部服务。

这个 Skill 有哪些优点和局限?

优点
  • 有界爬取,默认限制最大页数、深度和同域页面,避免无限抓取。
  • 支持在页面内容中搜索精确名称、短语、日期等,并提供带上下文的片段。
  • 提供单页检查和渐进式抓取,避免加载不必要的内容。
  • 链接选择策略优先考虑官方文档、内部页面和相关关键词,避免导航噪音。
  • 证据规则鼓励引用来源并区分事实与推断。
  • 遵循 MIT 许可证,开源且可扩展。
局限
  • 依赖 Node.js 环境,需要 Leon 仓库或单独配置。
  • 没有内置测试套件或测试证据,稳定性未完全验证。
  • 对于动态或需要 JavaScript 渲染的页面,可能无法获取完整内容。
  • 仅支持从起始 URL 出发的爬取,不适用于需要认证的页面。
  • 依赖网络连接,离线状态下无法使用。

如何安装这个 Skill?

该技能位于 Leon 仓库的 skills/agent/tiny-web-crawler/ 目录。要使用它,请克隆 Leon 仓库并使用 pnpm install 安装依赖。该技能没有单独的安装步骤,需要在 Leon 环境中配合使用。

如何使用这个 Skill?

在 Leon 中触发该技能时,提供目标信息或起始 URL。技能会使用 crawl-web.mjs 脚本,例如:node scripts/crawl-web.mjs --url "https://example.com" --query "target phrase" --max-pages 8 --max-depth 2。对于单页检查,可使用 fetch-page.mjs。技能将遵循工作流程:明确目标、从给定 URL 开始、搜索内容、跟踪链接、避免重复、提前停止。

常见问题

该技能是否需要额外的 API 密钥或付费服务?
不需要,该技能完全依赖 Node.js 和网络请求,不需要任何 API 密钥或付费服务。它是 Leon 开源项目的一部分,遵循 MIT 许可证。
该技能能否处理需要登录的网页?
根据技能说明,它仅处理公开可访问的页面,不包含处理认证或登录的功能。因此,需要登录的内容可能无法被抓取。
如果达到了最大页数限制但未找到目标信息,会发生什么?
技能会停止爬取,并报告已检查的页面和未解决的部分,让用户知道哪些地方已经查看过,以及目标信息未能找到。
该技能是否适合长时间运行的大规模爬取?
不建议。技能设计为有界爬取,默认最大页数为 8,深度为 2,同域最多 5 页。它倾向于提前停止,而不是广泛爬取。对于大规模爬取,可能需要调整参数或使用其他专门工具。

相关 Skills