WeChat Article Collector

Other

微信公众号文章批量采集工具。通过 Browser Harness 连接用户已登录的微信公众号后台,自动提取文章列表、去重、下载全文并保存到本地知识库。适用于个人公众号内容备份、知识库构建、文章管理等场景。

Install

openclaw skills install wechat-article-collector

微信公众号文章采集器

通过 Browser Harness 自动采集微信公众号文章,支持去重、全文下载、本地存储。

功能特性

  • ✅ 自动连接已登录的微信公众号后台
  • ✅ 提取原创文章列表(标题、日期、链接)
  • ✅ 智能去重(对比本地已收录文章)
  • ✅ 批量下载文章全文
  • ✅ 保存为 Markdown 格式
  • ✅ 支持翻页获取所有文章

前置条件

  1. Browser Harness 已安装(必需依赖)

    • 项目地址:https://github.com/browser-use/browser-harness
    • 安装位置:~/.openclaw/workspace/browser-harness
    • 命令行工具:browser-harness(已在 PATH)
    • Chrome 远程调试已授权
    • 安装方法:
      cd ~/.openclaw/workspace
      git clone https://github.com/browser-use/browser-harness
      cd browser-harness
      uv tool install -e .
      browser-harness --setup
      
  2. 微信公众号后台已登录

    • 在 Chrome 中打开 https://mp.weixin.qq.com
    • 登录你的公众号账号
    • 保持浏览器打开

使用方法

1. 快速采集(一键完成)

cd ~/.openclaw/workspace/skills/wechat-article-collector
python3 scripts/collect_articles.py

脚本会自动:

  1. 连接到微信公众号后台
  2. 进入原创文章页面
  3. 提取所有文章列表
  4. 对比本地知识库去重
  5. 下载新文章全文
  6. 保存到 ~/.openclaw/workspace/knowledge/wechat/gh_<公众号ID>/

2. 分步执行

步骤 1:提取文章列表

python3 scripts/extract_article_list.py

输出:/tmp/all_articles.json

步骤 2:去重并下载

python3 scripts/download_new_articles.py

读取 /tmp/all_articles.json,对比本地知识库,下载新文章。

配置

编辑 config.json 自定义设置:

{
  "save_dir": "~/.openclaw/workspace/knowledge/wechat/gh_511119f160d8",
  "mp_url": "https://mp.weixin.qq.com/cgi-bin/appmsgcopyright?action=orignal&type=1&token=YOUR_TOKEN",
  "sleep_between_downloads": 1.5
}

文件结构

wechat-article-collector/
├── SKILL.md                    # 本文件
├── config.json                 # 配置文件
├── scripts/
│   ├── collect_articles.py    # 一键采集脚本
│   ├── extract_article_list.py # 提取文章列表
│   ├── download_new_articles.py # 下载新文章
│   └── utils.py               # 工具函数
└── README.md                   # 详细文档

输出格式

每篇文章保存为独立的 Markdown 文件:

YYYY-MM-DD_文章标题.md

文件内容:

# 文章标题

**发布日期**: YYYY-MM-DD

**原文链接**: http://mp.weixin.qq.com/s/xxxxx

---

文章正文内容...

故障排查

问题 1:Browser Harness 连接失败

症状daemon alive — run browser-harness --setup to attach

解决

browser-harness --doctor
browser-harness --setup

问题 2:提取不到文章列表

症状Total: 0 articles

原因:未登录或未进入原创文章页面

解决

  1. 在 Chrome 中手动打开 https://mp.weixin.qq.com
  2. 登录公众号
  3. 点击左侧菜单"原创管理" → "原创声明"
  4. 重新运行脚本

问题 3:文章内容提取失败

症状❌ 提取失败 (len=0)

原因:页面加载慢或选择器不匹配

解决

  • 增加 time.sleep() 等待时间
  • 检查微信公众号文章页面结构是否变化
  • 更新选择器:#js_content.rich_media_content

高级用法

自定义保存目录

python3 scripts/collect_articles.py --save-dir ~/Documents/公众号备份

只提取列表不下载

python3 scripts/extract_article_list.py --output /tmp/my_articles.json

指定公众号 ID

python3 scripts/collect_articles.py --account-id gh_abc123def456

依赖

  • Browser Harness: 浏览器自动化
  • Python 3.10+: 脚本运行环境
  • Chrome: 已登录微信公众号后台

注意事项

  1. 登录态:必须在 Chrome 中保持微信公众号后台登录
  2. 速率限制:下载间隔建议 ≥1.5 秒,避免触发反爬
  3. 文件命名:自动过滤特殊字符,避免文件系统冲突
  4. 去重逻辑:基于文件名模糊匹配,建议定期清理重复文件

扩展应用场景

基于 Browser Harness 的浏览器自动化能力,本 skill 可扩展到更多场景:

1. 内容采集类

  • 社交媒体:微博、小红书、知乎专栏、掘金文章
  • 新闻资讯:RSS 替代、新闻聚合、行业动态
  • 电商数据:价格监控、商品评论、销量趋势
  • 招聘信息:Boss、拉勾、猎聘职位聚合

2. 自动化操作类

  • 批量操作:回复评论、发布动态、点赞转发
  • 表单填写:报销申请、问卷调查、重复性表单
  • 账号管理:多平台内容同步、数据备份

3. 监控告警类

  • 网页变化:价格、库存、状态监控
  • 关键词监控:品牌舆情、竞品动态
  • 系统状态:后台面板、服务器监控

4. 数据导出类

  • 财务数据:发票下载、订单导出、账单备份
  • 业务数据:客户信息、交易记录、报表导出

如何扩展

  1. 修改选择器配置:编辑 config.json 中的 profiles
  2. 自定义提取逻辑:修改 scripts/utils.py 中的提取函数
  3. 添加新功能:在 scripts/ 目录下创建新脚本

详见 USAGE.md 中的自定义配置教程。

快速扩展示例

支持其他公众号

修改 config.json 中的 mp_urlsave_dir,可采集多个公众号。

定时采集

添加 cron 任务:

# 每天凌晨 2 点采集
0 2 * * * cd ~/.openclaw/workspace/skills/wechat-article-collector && python3 scripts/collect_articles.py

导出为其他格式

scripts/utils.py 中添加转换函数:

def convert_to_pdf(md_file):
    # 使用 pandoc 或其他工具转换
    pass

许可

MIT License - 自由使用、修改、分发

贡献

欢迎提交 Issue 和 Pull Request!


作者: ZHAO
版本: 1.0.0
更新日期: 2026-04-22