关于 web-to-markdown
web-to-markdown 是一项按域名选择抓取路径并输出清理后 Markdown 的技能。它为普通网页、YouTube 及微信、知乎、飞书等站点选择不同提取方式,并为通用网页提供备用路径。
主要功能
- 01按域名选择 URL 路由
- 02提取网页并转换为 Markdown
- 03提取 YouTube 字幕与内容
- 04特殊站点的 HTTP 与浏览器备用方案
- 05可选输出 JSON 元数据
适用场景
- 01将网页文章转换为 Markdown
- 02提取 YouTube 链接内容
- 03抓取微信、知乎或飞书页面
- 04查看提取来源和解析后的 URL
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rookie-ricardo/ erduo-skills --skill web-to-markdown安装后在 Claude Code 中输入/web-to-markdown确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
package-lock.jsonpackage.jsonagents/openai.yamlreferences/routing-and-notes.mdscripts/fetch_generic_fallback.mjsfetch_special_sites_http.mjsfetch_special_sites.mjsurl_to_markdown.mjs详细介绍
网页转 Markdown
通过应用与域名相关的抓取路由,将 URL 转换为可用的 Markdown,然后直接返回清理后的内容。
快速工作流
- 规范化并验证输入 URL。
- 选择路由:
r.jina.ai:通用网页和 X/Twitter。defuddle.md:YouTube 字幕/内容提取。special-browser-fetch:微信/知乎/飞书。
- 返回 Markdown 文本(如有需要,也可返回 JSON 元数据)。
对于通用 URL(非 YouTube、微信/知乎/飞书),使用以下回退链:
- 首先尝试
r.jina.ai, - 如果失败,则回退到直接 HTTP 抓取 + Readability,
- 如果直接抓取仍然失败或返回类似 shell 的内容,则回退到浏览器提取。
命令
从此技能目录(skills/web-to-markdown)运行:
npm install
node scripts/url_to_markdown.mjs <url>
返回包含 Markdown 的元数据:
node scripts/url_to_markdown.mjs <url> --json
强制使用特殊网站的浏览器提取:
node scripts/fetch_special_sites.mjs <url> --json
路由策略
- 默认路由:
https://r.jina.ai/<url>。 - YouTube(
youtube.com、youtu.be):https://defuddle.md/<url>。 - X/Twitter(
x.com、twitter.com):https://r.jina.ai/<url>。 - 微信/知乎/飞书:运行
scripts/fetch_special_sites.mjs。 - 如果输入已经是代理格式(
https://defuddle.md/https://...或https://r.jina.ai/https://...),则规范化回原始 URL 并重新应用路由。
特殊网站提取行为
对微信/知乎/飞书采用两阶段策略:
- 首先尝试
cuimpHTTP/TLS 伪装,然后使用 Mozilla Readability 清理 HTML。 - 如果阶段 1 失败或返回被拦截的内容/类似 shell 的内容,则回退到
puppeteer-extra浏览器伪装。
- HTTP 阶段通过
cuimp伪装成现代 Chrome 的 TLS/HTTP 配置。 - 浏览器阶段伪装成现代 Chrome 用户代理,并使用标准
sec-ch-ua标头。 - 尽力移除已知的登录弹窗和背景遮罩。
- 滚动页面以触发延迟加载的文章内容块。
- 使用 Mozilla Readability 解析清理后的文档。
- 通过 Turndown 将提取的 HTML 正文转换为 Markdown。
- 优先从
CHROME_PATH解析浏览器可执行文件,然后依次尝试系统中的 Chrome/Chromium/Edge 路径。
如果特殊网站因反机器人检查、仅限账户访问的页面或网络限制而提取失败,请明确报告失败,并请求提供备用输入(例如页面原始文本)。
输出约定
常规使用时,仅输出 Markdown。
使用 --json 时,返回:
source:后端来源(r.jina.ai、defuddle、cuimp、browser-readability)。strategy:所选路由(r-jina、defuddle、special-http-fetch、special-browser-fetch-fallback)。requestedUrl:原始输入。resolvedUrl:规范化后的/最终 URL。markdown:提取出的 Markdown 正文。
资源
- references/routing-and-notes.md:域名路由规则和操作注意事项。
scripts/url_to_markdown.mjs:主要入口。scripts/fetch_special_sites_http.mjs:微信/知乎/飞书 HTTP 伪装抓取器(cuimpJS)。scripts/fetch_special_sites.mjs:两阶段提取器(优先 HTTP,失败后回退到浏览器)。
评论
支持 Markdown