🦀 ClawHub
wechat-article-skill
by @alienhub
微信公众号文章链接处理。当用户发送微信公众号文章链接时,自动获取并提取文章内容。 触发条件:(1) 用户发送 http(s)://mp.weixin.qq.com/s/ 开头的链接 (2) 用户请求获取公众号文章内容
TERMINAL
clawhub install wechat-article-skill📖 About This Skill
name: wechat-article-fetcher description: | 微信公众号文章链接处理。当用户发送微信公众号文章链接时,自动获取并提取文章内容。 触发条件:(1) 用户发送 http(s)://mp.weixin.qq.com/s/ 开头的链接 (2) 用户请求获取公众号文章内容
微信公众号文章获取
识别公众号链接
公众号文章链接特征:
mp.weixin.qq.com/s/ 开头https://mp.weixin.qq.com/s/abc123def456获取文章内容的方法
> ⚠️ 微信服务器会检测请求头,必须携带正常浏览器的 User-Agent,否则返回 403。
Agent 调用顺序(重要)
1. 优先使用 get_content.py 脚本 —— 稳定、无头、输出直接供模型消费。 2. 仅在脚本失败时改用 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"
方法二: browser 工具(脚本失败时的回退)
仅在脚本返回非 0 且 stderr 建议改用 browser 时使用:
browser(action="navigate", url="用户发送的链接")
browser(action="snapshot")
内容提取要点
公众号页面结构:
#page-content 元素中#activity-name 或 h1 标签.account_nickname 或类似元素处理流程
1. 识别链接 → 检测到 mp.weixin.qq.com/s/ 链接
2. 获取内容 → 调用 get_content.py --url <链接>
3. 成功 → 正文在 stdout,直接供模型消费
4. 失败 → 检查 stderr,若建议改用 browser,再用 browser 工具重试