clean-web-fetch

🧹 智能提取网页正文,净享阅读

智能网页正文提取工具,专攻微信公众号与复杂现代网页,自动清洗噪音并转为 Markdown,显著降低 Token 消耗

收藏
4.3k
安装
1.3k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

clean-web-fetch 是一款基于 Scrapling 的网页内容提取技能,专注于从现代网页中抓取干净、可读的 Markdown 格式正文。其核心优势在于对微信公众号文章的深度优化——自动识别并清洗尾部推荐、广告等噪音内容,同时支持多种正文选择器智能回退机制(article → main → .post-content → [class*="body"] → body)。

显著优点

1. 稳定性强:相比常规 HTTP fetch,能更好应对反爬机制与动态渲染干扰
2. Token 优化:精准提取正文,过滤导航、侧边栏、页脚等冗余信息,大幅降低后续处理成本

3. 格式友好:原生输出 Markdown,便于 LLM 直接处理与总结

4. 灵活配置:支持自定义选择器覆盖、JSON 结构化输出、调试日志等进阶功能

5. 批量能力:内置批量抓取支持,适合内容聚合场景

潜在局限

  • 无法处理需完整浏览器交互的页面(登录态、点击翻页、JS 依赖严重的 SPA)
  • 极端复杂的反爬场景(如企业级 Bot 检测)可能需要额外代理或浏览器自动化
  • 选择器策略基于常见 CMS 模式,小众建站系统可能需手动调优

适合人群

  • 需要快速抓取新闻、博客、公告正文的分析师与开发者
  • 构建知识库、RAG 系统的用户,追求高信噪比内容
  • 处理微信公众号文章自动化采集的研究者
  • 对 Token 成本敏感的大模型应用场景

常规风险

  • 需遵守目标网站的 robots.txt 与服务条款
  • 高频抓取可能触发 IP 限流
  • 依赖外部库(scrapling、html2text)需保持更新以兼容新站点结构

安全解读

核心用法

clean-web-fetch 是一款专注于现代网页正文提取的技能,旨在解决传统 fetch 在面对动态渲染、反爬机制或复杂 DOM 结构时的不稳定问题。用户通过调用 python3 scripts/scrapling_fetch.py <url> <max_chars> 即可快速获取清洗后的 Markdown 正文。技能内置智能选择器优先级策略,依次尝试 articlemain.post-content[class*="body"] 等常见正文容器,未命中时自动回退至 body 标签,最终按指定字符数截断输出。

该技能对微信公众号文章有专门优化,能够识别并清洗尾部营销信息、推荐阅读等噪音内容,特别适合新闻聚合、博客归档、公告监控等场景。支持 --json 结构化输出和 stderr 调试信息,便于集成到自动化工作流中。

显著优点

正文提取精准度高:基于 Scrapling 的浏览器行为模拟能力,能够绕过多数基础反爬机制,获取 JavaScript 渲染后的最终 DOM 状态。相比传统 requests + BeautifulSoup 方案,成功率提升显著。

Token 效率优化:通过智能选择器过滤导航栏、侧边栏、广告位、页脚等多余元素,仅保留核心正文内容。测试表明,对典型新闻页面可减少 60%-80% 的无效 Token,大幅降低 LLM 上下文成本。

微信公众号专项适配:针对微信文章的独特 DOM 结构(如 rich_media_content 类名)进行识别,自动移除底部二维码、关注引导、历史文章推荐等干扰信息。

输出格式标准化:统一转换为 Markdown 格式,保留标题层级、列表、链接等基本排版结构,便于后续摘要、翻译、知识库入库等处理。

潜在缺点与局限性

依赖外部脚本可用性:技能文档引用了 /Users/zzd/.openclaw/workspace/skills/scrapling-web-fetch/ 路径下的脚本文件,但这些 helper scripts 可能未随技能包分发。用户需自行验证路径存在性或手动部署脚本,存在"文档型技能"常见的配置 Gap 风险。

无交互能力边界:明确不支持需要登录、验证码、点击翻页、Cookie 维持等场景的站点。对于 SPA(单页应用)或重度依赖前端路由的页面,提取效果可能不稳定。

环境依赖较重:需要 Python 3 环境及 scraplinghtml2text 两个 PyPI 包,在受限容器或离线环境中部署存在门槛。

选择器策略固定:虽然覆盖常见正文模式,但面对非标准博客系统或企业定制 CMS,可能需要手动覆盖选择器(技能支持 --selector 参数,但文档说明较简略)。

适合的目标群体

  • 内容运营与媒体监测:需要批量抓取新闻源、竞品动态、行业公告的分析师和编辑
  • 知识管理用户:希望将分散的博客文章、技术文档归档为统一 Markdown 知识库的开发者
  • AI 工作流搭建者:构建自动化摘要、翻译、问答系统的工程师,需要稳定可靠的网页到文本转换环节
  • 学术研究人员:抓取公开论文页面、政策公告等,用于文献综述或数据挖掘

使用风险说明

执行依赖风险:由于技能本身为纯 Markdown 文档(T-MD 分类),无可执行代码,实际功能依赖用户环境中是否存在引用的外部脚本。若路径错误或脚本缺失,将导致执行失败。建议首次使用前手动验证 scripts/scrapling_fetch.py 的可访问性。

网络请求风险:技能底层通过 Scrapling 发起真实 HTTP 请求,需遵守目标站点的 robots.txt 和使用条款。高频抓取可能导致 IP 被封禁,建议配合请求间隔、代理轮换等策略使用。

数据安全边界:虽然技能本身不收集数据,但抓取行为可能涉及 GDPR/CCPA 等合规要求,尤其是抓取包含用户生成内容的页面时。应避免抓取需认证、含敏感 Token 或内网地址的 URL。

性能与资源消耗:Scrapling 会启动浏览器引擎(如 Chromium),内存占用显著高于纯 HTTP 客户端,批量处理时需注意资源规划。

clean-web-fetch 内容

手动下载zip · 2.5 kB
skill-card.mdtext/markdown
请选择文件