跳至主要内容
小龙虾小龙虾AI
🤖

Webfetch Md

Fetch any webpage and convert its main content into clean Markdown format, preserving image links and resolving relative URLs.

下载618
星标0
版本1.1.0
效率工具
安全通过
⚙️脚本

技能说明


name: webfetch-md version: 1.1.0 description: 抓取网页并转换为 Markdown,保留图片链接 author: ShiJianwen metadata: openclaw: requires: bins: ["node"] tools: - name: webfetch-md description: 抓取任意网页并转换为 Markdown 格式,自动保留图片链接 command: "node cli.js --url {{url}}" parameters: url: type: string description: 要抓取的网页 URL required: true

WebFetch MD - 网页转 Markdown

抓取任意网页,转换为干净的 Markdown 格式,保留图片链接。

使用方法

作为 OpenClaw 工具调用

webfetch-md url="https://example.com"

CLI 使用

# 基本使用(输出 JSON 格式)
npx webfetch-md https://example.com

# 或使用 --url 参数
npx webfetch-md --url https://example.com

# 提取 Markdown 内容(配合 jq)
npx webfetch-md https://example.com | jq -r '.markdown'

# 保存到文件
npx webfetch-md https://example.com | jq -r '.markdown' > article.md

输出格式

CLI 和工具都输出统一的 JSON 格式:

{
  "success": true,
  "title": "文章标题",
  "markdown": "# 文章标题\n\n正文内容...",
  "images": ["https://example.com/img1.png"],
  "imageCount": 1,
  "contentLength": 1523
}

作为模块使用

const { fetchAsMarkdown } = require('./index');
const result = await fetchAsMarkdown('https://example.com');
console.log(result.markdown);

功能特点

  • ✅ 抓取任意网页 HTML
  • ✅ 智能提取正文内容(过滤导航、广告等)
  • ✅ 保留图片链接(转换为 ![alt](url) 格式)
  • ✅ 自动转换相对路径为绝对路径
  • ✅ 输出干净的 Markdown

依赖

  • turndown: HTML to Markdown 转换
  • cheerio: HTML 解析和提取

技术实现

核心流程

  1. 网页抓取:使用 fetch API 获取 HTML,模拟浏览器 User-Agent
  2. HTML解析:使用 cheerio 加载和解析 HTML 内容
  3. 内容提取:智能识别正文区域,过滤无关元素
  4. URL处理:将相对路径转换为绝对路径
  5. Markdown转换:使用 turndown 转换为标准 Markdown 格式

智能内容提取算法

按优先级选择正文容器:

  1. article 标签
  2. main 标签
  3. [role="main"] 属性
  4. .post-content / .entry-content
  5. .content / .post
  6. #content / #main ID
  7. 回退到 body 标签

自动过滤的元素

  • 脚本和样式标签
  • 导航、页眉、页脚
  • 侧边栏和广告区域
  • 评论区

错误处理

工具返回统一的 JSON 格式,包含 success 字段标识操作状态:

{
  "success": false,
  "error": "错误信息"
}

开发说明

项目结构

webfetch-md/
├── index.js          # 核心功能模块
├── cli.js           # CLI 和 OpenClaw 工具入口
├── package.json     # 依赖配置
├── test.js          # 测试脚本
└── SKILL.md         # 技能文档

测试

# 运行测试
npm test

# 或直接测试
node test.js https://example.com

版本历史

  • v1.1.0 (当前): 统一 CLI 和 OpenClaw 工具入口,优化错误处理
  • v1.0.1: 基础功能实现,支持网页抓取和 Markdown 转换
  • v1.0.0: 初始版本发布

如何使用「Webfetch Md」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「Webfetch Md」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能