Back to skills
extension
Category: OtherNo API key required

微信公众号文章订阅助手

当用户需要下载微信公众号文章、爬取公众号内容、批量获取公众号历史文章、登录微信公众号平台、管理公众号订阅合集、查看已下载文章时使用。触发场景包括:"下载XX公众号的文章"、"帮我爬一下XX公众号最近一周的内容"、"登录微信公众号"、"下载这几个公众号的文章"、"新建一个合集把XX和YY加进去"、"一键下载财经合集所有文章"、"查看已经下载的文章"、"下载昨天/最近三天/这个月的公众号文章"。也适用于用户说"公众号文章导出"、"微信公众号爬虫"、"批量下载公众号"等场景。

personAuthor: user_f57b061bhubcommunity

微信公众号文章下载器

概述

通过对话式交互,完成微信公众号文章的登录、检索、下载和管理。支持单号/批量下载、多格式导出、订阅合集管理,内置反爬保护机制。

核心能力

| 功能 | 说明 | |------|------| | 扫码登录 | Selenium 启动 headless 浏览器 → 获取二维码 → 用户扫码 → 自动缓存凭证 | | 文章下载 | 搜索公众号 → 获取文章列表 → 逐篇下载保存(Markdown/HTML/PDF/Word) | | 批量下载 | 支持多个公众号一次性下载,内置反爬保护(随机延时、强制休息) | | 订阅合集 | 创建/管理公众号订阅合集,一键下载整个合集 | | 文章预览 | 查看已下载文章列表 | | 最近一天 | 自动回溯找到最近有发布文章的日期,下载当日全部文章 |

使用场景

  • "帮我登录微信公众号"——启动扫码登录流程
  • "下载薪火传最近一周的文章,要 Markdown 格式"——单号下载
  • "把搬砖小组和发财老博士最近三天的文章都下载了"——多号批量
  • "创建科技观察合集,把虎嗅和36氪加进去,然后下载合集所有文章"——合集+下载
  • "查看已下载的文章"——预览

前置条件

  1. Python 3.8+ 环境
  2. Google Chrome 或 Chromium 浏览器
  3. 已安装依赖:pip install -r requirements.txt(位于 Skill 目录下)
  4. 有一个微信公众号平台账号(个人订阅号即可)

文件结构

wechat-article-downloader-skill/
├── SKILL.md                  # 本文件
├── runner.py                 # 对话式入口(主要交互脚本)
├── wechat_scraper.py         # 核心爬虫模块
├── auth_helper.py            # 扫码登录模块
├── subscription_manager.py   # 订阅合集管理模块
└── requirements.txt          # Python 依赖

执行步骤

1. 扫码登录

用户说"登录"后:

python runner.py login
  • 启动 headless Chrome,打开微信公众号登录页
  • 捕获登录二维码,保存为 ~/.wechat_downloader/qr_code.png
  • 将二维码图片展示给用户(用 read 工具读取 PNG 文件)
  • 提示用户在手机上扫码确认
  • 后台轮询检测登录状态(最长等待 120 秒)
  • 登录成功后凭证自动缓存到 ~/.wechat_downloader/auth_cache
  • 下次使用时自动加载缓存凭证,无需重复扫码

2. 文章下载

python {skill_dir}/runner.py download --accounts "公众号名1,公众号名2" --range <范围> --formats <格式列表> --collection <合集名>

参数说明:

  • --accounts:公众号名称,逗号分隔(必填)
  • --range:时间范围,可选值:todayyesterdayweekmonth3monthsall(默认 week
  • --formats:导出格式,逗号分隔,支持 markdownhtmlpdfdocx(默认 markdown,html
  • --collection:保存到哪个合集文件夹下(默认 default

执行过程:

  • 逐号搜索公众号 → 获取文章列表 → 逐篇下载
  • 内置反爬保护:文章间隔 3-10 秒、账号切换暂停 20-60 秒、每 10 篇休息 60-120 秒
  • 每完成一篇输出进度:[1/5] ✅ 文章标题
  • 完成后输出汇总:成功/失败数量、保存路径

文件保存路径:

~/WeChatArticles/<合集名>/<公众号名>/<格式>/

3. 订阅合集管理

# 列出所有合集
python runner.py collection list

# 创建合集
python runner.py collection create --name "合集名称"

# 添加公众号
python runner.py collection add --name "合集名称" --accounts "公众号1,公众号2"

# 移除公众号
python runner.py collection remove --name "合集名称" --account "公众号名"

# 删除合集
python runner.py collection delete --name "合集名称"

4. 文章预览

python runner.py preview

列出已下载文章的表格摘要(合集、公众号、日期、标题、格式)。

使用示例

用户说:

帮我登录微信公众号

执行:

python runner.py login
# 展示二维码 → 用户扫码 → 登录成功

用户说:

下载薪火传最近一周的文章,要 Markdown 格式

执行:

python runner.py download --accounts "薪火传" --range week --formats markdown

用户说:

把搬砖小组和发财老博士加到"财经精选"合集,然后一起下载

执行:

python runner.py collection create --name "财经精选"
python runner.py collection add --name "财经精选" --accounts "搬砖小组,发财老博士"
python runner.py download --accounts "搬砖小组,发财老博士" --range week --collection "财经精选"

注意事项

  1. 首次使用先登录:未登录时下载会提示"请先登录"。登录凭证缓存 24 小时有效。
  2. 反爬保护:下载速度较慢是正常的。多公众号下载时每个公众号间会暂停 20-60 秒,模拟手工操作。
  3. 频率限制:如果日志中出现"触发频率限制",程序会自动等待 60 秒重试。若仍未解除,建议更换微信号登录。
  4. 文件保存位置:文章保存在用户主目录下的 ~/WeChatArticles/ 文件夹中。
  5. 凭证安全:登录凭证存储在 ~/.wechat_downloader/auth_cache,仅本地使用,不会上传。
  6. Python 路径:执行前确保 python 命令可用,或使用 python3。所有脚本从 Skill 目录运行。