运行时依赖
安装命令
点击复制本土化适配说明
mp-weixin 安装说明: 安装命令:["openclaw skills install mp-weixin"] 该技能用于微信相关操作,可能需要相应的平台账号或API密钥
技能文档
微信文章提取器 - Python 版本
使用 Python 提取微信公众号文章的标题、作者、内容、发布时间等元数据。
✅ 核心优势
相比 JavaScript 版本,Python 版本有以下优势:
✅ 无需 npm 依赖:只用 Python 标准库 + 常用 pip 包 ✅ 安装快速:pip 安装 beautifulsoup4 请求s lxml 即可完成 ✅ 绕过验证码:使用微信 User-代理,提高访问成功率 ✅ 轻量级:脚本仅 10KB,无复杂依赖 ✅ 易维护:Python 代码更易读易改 📦 依赖安装 pip 安装 beautifulsoup4 请求s lxml
或使用国内镜像加速:
pip 安装 beautifulsoup4 请求s lxml -i https://pypi.tuna.tsinghua.edu.cn/simple
🚀 使用方法 基本用法 python3 scripts/wechat_提取器.py <微信文章 URL>
示例 # 提取单篇文章 python3 scripts/wechat_提取器.py "https://mp.weixin.qq.com/s/xN1H5s66ruXY9s8aOd4Rcg"
# 在 Python 脚本中调用 from scripts.wechat_提取器 导入 WeChatArticle提取器
提取器 = WeChatArticle提取器() 结果 = 提取器.提取('https://mp.weixin.qq.com/s/xxx')
if 结果['done']: print('标题:', 结果['data']['msg_title']) print('作者:', 结果['data']['msg_author']) print('内容:', 结果['data']['msg_content'][:500])
📊 输出数据说明 成功响应 { "done": true, "code": 0, "data": { // 文章信息 "msg_title": "文章标题", "msg_desc": "文章摘要", "msg_content": "
错误响应 { "done": false, "code": 1002, "msg": "请求超时" }
⚠️ 错误码说明 错误码 说明 解决方案 1001 无法获取文章信息 检查 URL 是否正确 1002 请求失败/超时 检查网络连接,稍后重试 2006 需要验证码 微信反爬机制,稍后重试或使用已登录会话 2008 系统出错 查看错误详情,联系开发者 🎯 使用场景
✅ 适用场景:
提取微信公众号文章内容 获取文章元数据(标题、作者、发布时间) 批量采集微信文章 监控特定公众号更新 微信文章归档
❌ 不适用场景:
需要访问需要登录的付费文章 需要绕过微信验证码的批量采集 需要提取评论区内容 💡 最佳实践
- 批量提取
提取器 = WeChatArticle提取器(timeout=30)
for url in urls: 结果 = 提取器.提取(url) if 结果['done']: print(f"✅ {结果['data']['msg_title']}") else: print(f"❌ {url}: {结果['msg']}") # 避免请求过快 导入 time time.sleep(1)
- 保存为 JSON
结果 = 提取器.提取(url)
with open('article.json', 'w', encoding='utf-8') as f: json.dump(结果, f, ensure_ascii=False, indent=2)
- 提取纯文本内容
结果 = 提取器.提取(url) html_content = 结果['data']['msg_content']
# 转为纯文本 soup = BeautifulSoup(html_content, 'lxml') text_content = soup.获取_text(separator='\n', strip=True) print(text_content)
🔧 高级配置 自定义请求头 提取器 = WeChatArticle提取器(timeout=60) 提取器.会话.headers.更新({ 'User-代理': '自定义 User-代理' })
使用代理 提取器 = WeChatArticle提取器(timeout=30) 提取器.会话.proxies.更新({ 'http': 'http://127.0.0.1:7890', 'https': 'http://127.0.0.1:7890' })
📝 注意事项
验证码问题:微信有反爬机制,频繁访问可能触发验证码,建议:
控制请求频率(每秒不超过 1 次) 使用固定的 User-代理 必要时使用已登录的 Cookie
内容完整性:部分文章可能包含视频、音频等多媒体内容,HTML 内容中会保留引用链接
发布时间:微信文章的发布时间可能无法精确提取,部分文章只能获取大致日期
公众号信息:公众号详细信息(微信号、原始 ID 等)需要从页面 JavaScript 中提取,可能不完整
🆚 与 JavaScript 版本对比 特性 Python 版本 JavaScript 版本 依赖 pip (bs4, 请求s) npm (cheerio, 请求-promise) 安装速度 快(<30 秒) 慢(可能超时) 代码量 ~300 行 ~600 行 可维护性 高 中 验证码处理 使用微信 UA 绕过 需要额外配置 推荐度 ⭐⭐⭐⭐⭐ ⭐⭐⭐ 📚 示例输出 正在提取文章:https://mp.weixin.qq.com/s/xN1H5s66ruXY9s8aOd4Rcg
✅ 提取成功!
📰 文章标题:4B 参数实现理解、推理、生成、编辑一体化!InternVL-U 重磅开源 👤 作者:书生 Intern 📢 公众号:书生 Intern ⏰ 发布时间:2026/03/14 10:30:00 📝 文章摘要:重新定义统一多模态模型的 "效率 - 性能" 边界。 🖼️ 封面图:https://mmbiz.qpic.cn/mmbiz_jpg/... 📄 文章类型:post 🔗 文章链接:https://mp.weixin.qq.com/s/xN1H5s66ruXY9s8aOd4Rcg
📊 公众号信息: - 名称:书生 Intern - 微信号:未设置 - 原始 ID: 未设置 - 功能介绍:未设置
📝 文章内容长度:129134 字符
💾 详细数据已保存到:/tmp/wechat_article.json
🔗 相关链接 微信公众号平台 BeautifulSoup 文档 请求s 文档
Python 版本 by bozoyan · 2026-03-14 · 专为 CoPaw 优化 📰✨