Skills wechat-article-fetcher
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/alienhub/wechat-article-skill" ~/.claude/skills/openclaw-skills-wechat-article-fetcher-044197 && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/alienhub/wechat-article-skill" ~/.openclaw/skills/openclaw-skills-wechat-article-fetcher-044197 && rm -rf "$T"
manifest:
skills/alienhub/wechat-article-skill/SKILL.mdsource content
微信公众号文章获取
识别公众号链接
公众号文章链接特征:
- 域名:
mp.weixin.qq.com - 路径:
开头/s/ - 示例:
https://mp.weixin.qq.com/s/abc123def456
获取文章内容的方法
⚠️ 微信服务器会检测请求头,必须携带正常浏览器的 User-Agent,否则返回 403。
Agent 调用顺序(重要)
- 优先使用 get_content.py 脚本 —— 稳定、无头、输出直接供模型消费。
- 仅在脚本失败时改用 browser 工具 —— 脚本 stderr 会输出「建议 Agent 改用 browser 工具」等提示,此时再考虑浏览器。
方法一:get_content.py 脚本(首选)
本地 CLI,urllib + certifi + 真实 UA,自带重试(最多 3 次)。失败时 stderr 提示是否改用 browser。
# 安装依赖(首次) pip install -r requirements.txt # 调用 python scripts/get_content.py --url "https://mp.weixin.qq.com/s/xxx"
- 成功:正文输出到 stdout。
- 失败:stderr 输出原因及「建议 Agent 改用 browser 工具」。
方法二: browser 工具(脚本失败时的回退)
仅在脚本返回非 0 且 stderr 建议改用 browser 时使用:
browser(action="navigate", url="用户发送的链接") browser(action="snapshot")
内容提取要点
公众号页面结构:
- 文章正文在
元素中#page-content - 标题通常在
或#activity-name
标签h1 - 作者信息在
或类似元素.account_nickname - 发布时间需要从页面元数据提取
处理流程
- 识别链接 → 检测到
链接mp.weixin.qq.com/s/ - 获取内容 → 调用
get_content.py --url <链接> - 成功 → 正文在 stdout,直接供模型消费
- 失败 → 检查 stderr,若建议改用 browser,再用 browser 工具重试
注意事项
- 公众号文章可能需要登录才能完整抓取
- 部分文章有访问时间限制
- 图片可能需要单独处理(使用微信图床域名)
- 必须使用正常浏览器的 User-Agent