关于 web-fetcher
将 URL 获取为简洁 Markdown 的网页抓取技能。它通过 OpenCLI 处理支持的平台,并为其他页面按优先级尝试一系列 Markdown 服务。
主要功能
- 01将 URL 获取为 Markdown
- 02通过 OpenCLI 处理已知平台
- 03使用支持网站的浏览器登录状态
- 04为普通网页提供备用抓取链
- 05通过 OpenCLI 查找支持的平台
适用场景
- 01使用浏览器登录状态读取支持的社交平台内容
- 02将博客或文档页面转换为 Markdown
- 03结果过短或失败时尝试其他抓取方式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jiahao-shao1/ sjh-skills --skill web-fetcher安装后在 Claude Code 中输入/web-fetcher确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreLICENSEREADME.mdREADME.zh-CN.mdevals/trigger_eval.json详细介绍
网页抓取器
将任意 URL 抓取为干净的 Markdown。有两种路径:已知平台通过 OpenCLI 处理(使用浏览器登录状态),其他内容则依次尝试一系列免费 Markdown 服务。
策略概览
- 已知平台(Twitter/X、zhihu、reddit、weibo、xiaohongshu、bilibili 等)→ 优先使用 OpenCLI。它会使用用户的浏览器登录状态,结果可预测,且不消耗 LLM token。
- 通用 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 Reader | curl -s -H "Accept: text/markdown" "https://r.jina.ai/<url>" | Markdown 质量最佳,支持 JS | 免费额度为 20 req/min |
| defuddle.md | curl -s "https://defuddle.md/<url>" | 质量不错,由 Obsidian 创作者开发 | 限制未公开 |
| markdown.new | curl -s "https://markdown.new/<url>" | 浏览器渲染回退方案 | 每天 500 req |
| WebFetch | 内置工具,无需 curl | 无需设置 | 不支持 JS 渲染,处理复杂页面效果不佳 |
决策指南
- 有登录状态的已知平台 → 优先使用 OpenCLI
- 静态文章/博客 → 优先使用 Jina Reader
- 如果工具返回的内容过短(<500 字符)→ 可能是错误页面,请尝试链中的下一个工具
- 如果 Jina 失败或触发速率限制 → 依次尝试 defuddle → markdown.new → WebFetch
- 如果 OpenCLI 失败 → 回退到上述通用工具链
OpenCLI 设置
如果尚未安装 opencli:
npm i -g @jackwener/opencli- 从 https://github.com/jackwener/opencli/releases 下载浏览器扩展
- Chrome →
chrome://extensions→ 开发者模式 → 加载已解压的扩展程序 → 选择解压后的文件夹 - 运行
opencli doctor进行验证
只需设置一次。安装后,已知平台的 URL 会自动使用浏览器登录状态。
限制
- 通过
opencli weixin部分支持微信公众号文章;访问某些被 GFW 屏蔽的 URL 可能需要代理 - OpenCLI 需要设置浏览器扩展(一次性)
- Jina Reader 免费额度:20 req/min
- markdown.new:500 req/day/IP
评论
支持 Markdown