mcpField
W
web-fetcher

web-fetcher

github.com/jiahao-shao1生产力3958 次安装2 周前更新
代码仓库

关于 web-fetcher

将 URL 获取为简洁 Markdown 的网页抓取技能。它通过 OpenCLI 处理支持的平台,并为其他页面按优先级尝试一系列 Markdown 服务。

主要功能

  1. 01将 URL 获取为 Markdown
  2. 02通过 OpenCLI 处理已知平台
  3. 03使用支持网站的浏览器登录状态
  4. 04为普通网页提供备用抓取链
  5. 05通过 OpenCLI 查找支持的平台

适用场景

  1. 01使用浏览器登录状态读取支持的社交平台内容
  2. 02将博客或文档页面转换为 Markdown
  3. 03结果过短或失败时尝试其他抓取方式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jiahao-shao1/sjh-skills --skill web-fetcher

安装后在 Claude Code 中输入/web-fetcher确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
LICENSE
README.md
README.zh-CN.md
evals/
trigger_eval.json

详细介绍

网页抓取器

将任意 URL 抓取为干净的 Markdown。有两种路径:已知平台通过 OpenCLI 处理(使用浏览器登录状态),其他内容则依次尝试一系列免费 Markdown 服务。

策略概览

  1. 已知平台(Twitter/X、zhihu、reddit、weibo、xiaohongshu、bilibili 等)→ 优先使用 OpenCLI。它会使用用户的浏览器登录状态,结果可预测,且不消耗 LLM token。
  2. 通用 URL(博客、文档、文章)→ 依次尝试 Jina Reader > defuddle.md > markdown.new > WebFetch。

这些只是优先级建议——跳过明显不合适的策略(例如,不要对普通博客文章尝试 OpenCLI,也不要对有登录墙的 zhihu 页面尝试 Jina)。

已知平台 → OpenCLI 命令

URL 模式命令备注
x.com/.../status/<id>opencli twitter thread <id>推文串。如果结果只是一个 t.co 链接(文本非常短),该推文可能链接到 X Article;请使用 opencli twitter article <same-id> 重试
x.com/.../article/<id> 或 x.com/i/article/<id>opencli twitter article <id>X Article 长文
zhihu.com/question/<id>opencli zhihu question <id>
zhuanlan.zhihu.com/p/<id>opencli zhihu download <full-url>
reddit.com/r/.../comments/...opencli reddit read <full-url>
weibo.com/...opencli weibo search <query>
xiaohongshu.com/...opencli xiaohongshu download <id>
bilibili.com/video/BV...opencli bilibili download <bvid>

动态发现

上表涵盖了高频平台。OpenCLI 支持 80 多个平台。对于未列出的平台:

# See all supported platforms
opencli --help

# See subcommands for a specific platform
opencli <platform> --help

通用回退工具

对于与已知平台不匹配的 URL,请按以下顺序尝试:

工具使用方法优点缺点
Jina Readercurl -s -H "Accept: text/markdown" "https://r.jina.ai/<url>"Markdown 质量最佳,支持 JS免费额度为 20 req/min
defuddle.mdcurl -s "https://defuddle.md/<url>"质量不错,由 Obsidian 创作者开发限制未公开
markdown.newcurl -s "https://markdown.new/<url>"浏览器渲染回退方案每天 500 req
WebFetch内置工具,无需 curl无需设置不支持 JS 渲染,处理复杂页面效果不佳

决策指南

  • 有登录状态的已知平台 → 优先使用 OpenCLI
  • 静态文章/博客 → 优先使用 Jina Reader
  • 如果工具返回的内容过短(<500 字符)→ 可能是错误页面,请尝试链中的下一个工具
  • 如果 Jina 失败或触发速率限制 → 依次尝试 defuddle → markdown.new → WebFetch
  • 如果 OpenCLI 失败 → 回退到上述通用工具链

OpenCLI 设置

如果尚未安装 opencli:

  1. npm i -g @jackwener/opencli
  2. 从 https://github.com/jackwener/opencli/releases 下载浏览器扩展
  3. Chrome → chrome://extensions → 开发者模式 → 加载已解压的扩展程序 → 选择解压后的文件夹
  4. 运行 opencli doctor 进行验证

只需设置一次。安装后,已知平台的 URL 会自动使用浏览器登录状态。

限制

  • 通过 opencli weixin 部分支持微信公众号文章;访问某些被 GFW 屏蔽的 URL 可能需要代理
  • OpenCLI 需要设置浏览器扩展(一次性)
  • Jina Reader 免费额度:20 req/min
  • markdown.new:500 req/day/IP

评论

支持 Markdown