网页内容抓取工具 web-fetch

网页内容抓取工具是一款智能网页内容提取工具,能够将HTML网页转换为干净的Markdown格式。该工具支持通过CSS选择器精准定位网页主体内容,自动过滤导航栏、页脚等无关元素,适用于技术文档、文章、参考页面等多种网页内容的快速抓取和格式转换。主要功能包括:网页抓取、HTML转Markdown、内容提取、CSS选择器、文档转换、自动化处理。

DevOps 0 次安装 0 次浏览 更新于 2/28/2026

name: web-fetch description: 使用智能内容提取获取网页内容,将HTML转换为干净的Markdown格式。适用于文档、文章和参考页面的http/https URL。

网页内容抓取

使用 curl | html2markdown 配合CSS选择器获取网页内容,生成干净、完整的Markdown输出。

快速使用(已知网站)

使用特定网站的CSS选择器以获得最佳效果:

# Anthropic文档
curl -s "<url>" | html2markdown --include-selector "#content-container"

# MDN Web文档
curl -s "<url>" | html2markdown --include-selector "article"

# GitHub文档
curl -s "<url>" | html2markdown --include-selector "article" --exclude-selector "nav,.sidebar"

# 通用文章页面
curl -s "<url>" | html2markdown --include-selector "article,main,[role=main]" --exclude-selector "nav,header,footer"

网站模式

网站 包含选择器 排除选择器
platform.claude.com #content-container -
docs.anthropic.com #content-container -
developer.mozilla.org article -
github.com (文档) article nav,.sidebar
通用网站 article,main nav,header,footer,script,style

通用回退方案(未知网站)

对于没有已知模式的网站,使用自动检测内容的Bun脚本:

bun ~/.claude/skills/web-fetch/fetch.ts "<url>"

设置(一次性)

cd ~/.claude/skills/web-fetch && bun install

寻找正确的选择器

当网站不在模式列表中时:

# 检查存在哪些内容容器
curl -s "<url>" | grep -o '<article[^>]*>\|<main[^>]*>\|id="[^"]*content[^"]*"' | head -10

# 测试选择器
curl -s "<url>" | html2markdown --include-selector "<selector>" | head -30

# 检查行数
curl -s "<url>" | html2markdown --include-selector "<selector>" | wc -l

选项参考

--include-selector "CSS"  # 仅包含匹配的元素
--exclude-selector "CSS"  # 移除匹配的元素
--domain "https://..."    # 将相对链接转换为绝对链接

对比

方法 Anthropic文档 代码块 复杂度
完整页面 602行 有噪音
--include-selector "#content-container" 385行 干净
Bun脚本(通用) 383行 干净

故障排除

选择了错误的内容:网站可能有多个文章。检查HTML:

curl -s "<url>" | grep -o '<article[^>]*>'

空输出:选择器不匹配。尝试更广泛的选择器,如 mainbody

缺少代码块:检查网站是否使用非标准代码格式化。

客户端渲染内容:如果HTML只有“加载中…”占位符,内容是JS渲染的。curl和Bun脚本都无法提取;请使用基于浏览器的工具。