微信文章格式转换:把公众号链接落成五种离线文件

前言

做资料整理、二次编辑或归档时,公众号文章往往只剩一个 mp.weixin.qq.com 链接。手动复制正文会丢排版和图片;只存网页又依赖在线资源和微信侧展示逻辑。下面介绍 SkillHub 上的社区 Skill「微信文章格式转换」(@user_733f3aed/wechat-article-exporter,v1.0.0),在 Agent 里用自然语言或脚本,把单篇或多篇链接导出为 Markdown、HTML、纯文本、JSON、Excel,并尽量把图片与样式落到本地。

这是什么

一句话定位:面向微信公众号文章 URL 的抓取与多格式导出 Skill,无需配置 API Key(requires_api_key=false),无需微信登录即可请求文章页。

  • 坐标:@user_733f3aed/wechat-article-exporter
  • 来源:SkillHub 社区(community),分类为 data-analysis
  • 发布者:user_733f3aed;SkillHub 技能页标注作者为罗江勇
  • 官方入口:SkillHub 技能页、API 坐标

Skill 内置 SKILL.md 与 Python 脚本,供 Cursor、Claude Code、Codex 等支持 Skills 的客户端调用。

核心功能

以下能力均来自官方 SKILL.md 与安装包内脚本说明,已核对一致。

  1. 五种导出格式
    - Markdown(.md):含标题、作者、日期、来源链接
    - Excel(.xlsx):表格形式,含元信息与正文(行高约 300px)
    - HTML(.html):独立网页,CSS 与图片本地化,可直接用浏览器打开
    - 纯文本(.txt):无格式正文
    - JSON(.json):结构化数据与完整元数据

  2. 抓取方式
    - 直接请求 mp.weixin.qq.com,使用 Chrome 风格 User-Agent,且 Referer 须带该域名
    - 图片优先读 data-src(懒加载),并同步到 src;空 img 占位会清理

  3. HTML 离线包结构(效果最好的阅读格式)
    - 目录示例:文章标题_文章ID/index.html + assets/(CSS、图片)
    - 资源 URL 替换为本地相对路径;按内容 hash 去重
    - CSS 总量 ≤ 500KB 时内联到 <style>,更大则走 assets/ 的 <link>
    - 会处理 #js_content 的 visibility:hidden,避免空白页

  4. 单篇与批量
    - 单篇默认保存到 ~/Desktop/文章标题_文章ID/
    - 批量默认保存到 ~/Desktop/微信文章批量/

  5. Agent 侧交互规则
    - 触发:用户发送 https://mp.weixin.qq.com/s/xxx、多链接,或「帮我转这篇文章」「保存这篇微信文章」等
    - 每次导出前必须先询问格式(支持序号 1–5 或名称,可多选,如 1,3,5)

  6. 已知限制(官方写明)
    - 阅读量、点赞、评论等需登录态接口,纯抓取拿不到
    - 已删除或违规文章可能失败

安装与启用

1、安装 SkillHub CLI(若尚未安装)

command -v skillhub && skillhub --version

未安装时,可按 SkillHub 安装文档 执行完整安装:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

2、安装本 Skill

安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别;安装后通常需重启客户端。

Cursor:

skillhub install wechat-article-exporter --namespace user_733f3aed --dir ~/.cursor/skills/

Claude Code:

skillhub install wechat-article-exporter --namespace user_733f3aed --dir ~/.claude/skills/

Codex:

skillhub install wechat-article-exporter --namespace user_733f3aed --dir ~/.codex/skills/

也可把下面提示词发给 AI,让其按官方流程安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_733f3aed/wechat-article-exporter`。

3、脚本依赖

SKILL.md 要求安装 html5lib(纯 Python)。核心脚本 fetch_article.py 还使用 beautifulsoup4 解析页面,运行前建议:

pip install html5lib beautifulsoup4

导出 Excel 时脚本会调用表格相关库(按你本机 Python 环境补齐缺失依赖即可)。

典型用法

在 Agent 对话中使用

  1. 发送一篇或多篇微信文章链接。
  2. 按 Skill 要求选择格式(示例:markdown,html 或 1,3)。
  3. Agent 调用安装目录下的脚本,完成后汇报文件名与大小。

命令行直接调用脚本

安装后脚本位于(以 Cursor 为例):

~/.cursor/skills/@user_733f3aed/wechat-article-exporter/scripts/

单篇、单格式:

python ~/.cursor/skills/@user_733f3aed/wechat-article-exporter/scripts/fetch_article.py \
  "https://mp.weixin.qq.com/s/xxxxxxxx" markdown

format 可选:markdown | html | text | json | excel。第三个参数可指定 output_dir。

批量、多格式:

先把链接写入文本文件(每行一个 URL),再执行:

python ~/.cursor/skills/@user_733f3aed/wechat-article-exporter/scripts/batch_fetch.py \
  /path/to/urls.txt markdown,html,json

formats_csv 省略时默认 markdown。

适用场景与注意

适合谁

  • 需要把公众号文章归档到本地知识库(Obsidian、Git、网盘)的编辑与开发者
  • 要做摘抄、比对、结构化分析,希望一次导出 JSON / Excel / Markdown
  • 需要离线保留版式和图片,优先选 HTML 导出

使用注意

  • 遵守微信平台与著作权规定,仅抓取你有权保存的内容
  • 抓取成功率受文章状态与网络影响;批量场景以脚本汇报的成功/失败数为准
  • SkillHub 页面上该 Skill 评分 100000(平台展示值),截至资料抓取时下载约 1835、安装约 34,选用前可在技能页查看最新数据

结尾

「微信文章格式转换」把公众号链接变成可长期保存的五种文件,并强调 HTML 场景下的资源本地化。若你已在用 SkillHub 管理 Agent 能力,可按上文命令装入对应 skills 目录,用链接或脚本完成单篇与批量导出。技能页:https://www.skillhub.cn/skills/user_733f3aed/wechat-article-exporter。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜