wechat-article-extraction-mp-weixin-qq-com news-webpage-cleaning blog-post-parsing metadata-extraction-title-author-date multiple-output-formats-markdown-json-plain-text batch-processing-support

# Web Content Extractor - 网页内容提取器

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "wechat-article-extraction-mp-weixin-qq-com news-webpage-cleaning blog-post-parsing metadata-extraction-title-author-date multiple-output-formats-markdown-json-plain-text batch-processing-support" with this command: npx skills add 3511815125/web-fetch-vx

Web Content Extractor - 网页内容提取器

版本: 2.0
作者: OpenClaw Team
更新日期: 2026-03-15
许可证: MIT


📦 技能元数据

name: web-content-extractor
version: 2.0.0
description: 从微信文章/博客/新闻网页提取干净内容,去除广告和侧边栏
category: 内容处理
tags: [网页提取,内容清洗,微信文章,Markdown]
author: OpenClaw Team
license: MIT

🎯 功能概述

基于 Readability + Firecrawl + Defuddle 三引擎的网页内容提取工具,专为中文内容优化。支持微信文章、新闻网站、博客等多种来源,自动去除广告/导航/侧边栏,输出干净的 Markdown 格式。

核心能力

  • ✅ 微信文章提取(mp.weixin.qq.com)
  • ✅ 新闻网页清洗
  • ✅ 博客文章解析
  • ✅ 元数据提取(标题/作者/日期)
  • ✅ 多格式输出(Markdown/JSON/纯文本)
  • ✅ 批量处理支持

🚀 快速开始

基础调用

# OpenClaw 工具调用
result = web_fetch(
    url="https://mp.weixin.qq.com/s/xxx",
    extractMode="markdown",
    maxChars=8000
)

完整参数

参数类型必填默认值说明
urlstr-网页 URL
extractModestr"markdown"输出格式(markdown/text/json)
maxCharsint8000最大字符数
includeMetadatabooltrue是否包含元数据
timeoutint30超时时间(秒)

📤 输入输出

输入示例

{
  "url": "https://mp.weixin.qq.com/s/abcdefg",
  "extractMode": "markdown",
  "maxChars": 8000,
  "includeMetadata": true
}

输出示例

{
  "success": true,
  "url": "https://mp.weixin.qq.com/s/abcdefg",
  "title": "文章标题",
  "author": "作者名",
  "publishDate": "2026-03-15",
  "content": "Markdown 格式的正文内容...",
  "wordCount": 2500,
  "readTime": "10 分钟",
  "images": ["https://..."],
  "extractTime": 0.8
}

🔧 技术架构

三引擎设计

                    用户请求
                       ↓
              ┌────────────────┐
              │   路由判断层    │
              └────────────────┘
                       ↓
        ┌──────────────┼──────────────┐
        ↓              ↓              ↓
   ┌─────────┐   ┌─────────┐   ┌─────────┐
   │ web_fetch│   │ defuddle│   │ browser │
   │ (快速)  │   │ (专业)  │   │ (兜底)  │
   └─────────┘   └─────────┘   └─────────┘
        ↓              ↓              ↓
              ┌────────────────┐
              │   结果聚合层    │
              └────────────────┘
                       ↓
                  返回用户

引擎对比

引擎速度成功率适用场景
web_fetch<1s70%微信文章/通用网页
defuddle<1s75%博客/新闻网站
browser5-10s90%复杂 SPA/动态页面

📋 使用场景

场景 1:微信文章提取

result = web_fetch(
    url="https://mp.weixin.qq.com/s/xxx",
    extractMode="markdown"
)
print(result["content"])

场景 2:批量处理

urls = ["url1", "url2", "url3"]
results = [web_fetch(url=u) for u in urls]

场景 3:带元数据提取

result = web_fetch(
    url="https://example.com/article",
    includeMetadata=True
)
print(f"标题:{result['title']}")
print(f"作者:{result['author']}")
print(f"字数:{result['wordCount']}")

⚠️ 限制与注意事项

不支持的场景

  • ❌ 需要登录的页面
  • ❌ 付费墙内容
  • ❌ 验证码保护的页面
  • ❌ 纯 JavaScript 渲染的 SPA(需用 browser 引擎)

速率限制

域名类型请求间隔并发限制
微信文章2 秒1
新闻网站1 秒3
博客1 秒5

合规要求

  1. 仅提取公开可访问内容
  2. 尊重 robots.txt 协议
  3. 不用于商业用途(除非获得授权)
  4. 保留原作者署名

🎛️ 高级配置

自定义 User-Agent

result = web_fetch(
    url="https://example.com",
    userAgent="Mozilla/5.0 ..."
)

代理配置

result = web_fetch(
    url="https://example.com",
    proxy="http://proxy:port"
)

缓存控制

# 启用缓存(1 小时)
result = web_fetch(url, cache=True, ttl=3600)

# 强制刷新
result = web_fetch(url, cache=False)

📊 性能指标

指标数值
平均响应时间0.8 秒
P95 响应时间2.5 秒
成功率85%
缓存命中率60%

🔍 故障排查

问题 1:提取内容为空

原因:页面需要 JavaScript 渲染
解决:切换到 browser 引擎

问题 2:微信文章提取失败

原因:链接过期或有反爬
解决

  1. 检查链接是否有效
  2. 尝试 browser 引擎
  3. 手动复制内容

问题 3:提取内容不完整

原因:maxChars 限制
解决:增加 maxChars 参数或分页处理


📚 依赖项

{
  "readability": "^0.4.4",
  "firecrawl": "^1.0.0",
  "defuddle": "^3.0.0"
}

🤝 贡献指南

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

MIT License - 详见 LICENSE


📞 支持


最后更新: 2026-03-15
维护状态: ✅ 活跃维护

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Tsconfig Validator

Validate and lint tsconfig.json files for common mistakes, conflicting compiler options, strictness gaps, and best practices. Use when asked to lint, validat...

Registry SourceRecently Updated
General

API Diff

Compare two OpenAPI 3.x or Swagger 2.0 specs and generate a changelog of breaking and non-breaking changes. Detect removed endpoints, new required parameters...

Registry SourceRecently Updated
General

Eslint Flat Config Validator

Validate ESLint v9+ flat config files (JSON-exported) for structural correctness, language options, rules configuration, plugin hygiene, file patterns, and b...

Registry SourceRecently Updated
General

Migration Safety Checker

Check database migrations for safety — detect data loss risks, locking operations, backward compatibility issues, and deployment ordering problems across SQL...

Registry SourceRecently Updated