Wechat Search Weread

📖 绕过API限制的公众号文章采集方案

微信读书搜索公众号文章的浏览器自动化方案,通过CDP协议绕过官方API限制,实现完整文章数据(含直链)的批量采集

收藏
2.3k
安装
1.1k
版本
0.1.2
CLS 安全性认证2026-08-03
点击查看完整报告 >

使用说明

核心用法

本Skill通过agent-browser驱动浏览器访问微信读书(weread.qq.com),利用其搜一搜功能搜索微信公众号文章,并提取mp.weixin.qq.com直链。流程分为五步:启动浏览器→扫码登录→搜索关键词+无限滚动加载→批量提取文章URL→清理环境。

关键执行要点:

  • Step 2 登录:必须扫码登录,流程为「关闭旧弹窗→重新触发→提取QR→立即发码」,全程需在一个terminal()内完成,中间不做任何snapshot验证,否则QR过期。
  • Step 3 滚动:必须使用agent-browser eval执行滚动,Python CDP的Runtime.evaluate不会触发XHR加载;且必须保持weread.qq.com标签页活跃,否则永远卡在初始15篇。
  • Step 4 提取:通过eval注入拦截window.open,批量点击文章卡片获取直链,必须用async+await sleep(50)防Vue异步竞态。
  • Step 4.4 输出:强制从/tmp/urls.json读取完整URL,禁止从控制台复制(曾导致参数截断bug)。

显著优点

1. 绕过API限制:微信读书官方Agent API(/store/search scope=2/4)明确不支持公众号文章搜索(返回-2041),此方案是目前唯一可行的技术路径。
2. 数据完整性高:返回mp.weixin.qq.com直链、标题、公众号名、发布时间、简介,可直接访问无需二次跳转。

3. 自动化程度高:支持大批量滚动(500篇封顶),登录态可复用,适合持续监控场景。

4. 有成熟故障处理:文档详细记录了15+种常见陷阱及解决方案,包括session保持、QR过期、iframe遮挡、URL错位等。

潜在缺点与局限性

1. 依赖浏览器环境:必须安装agent-browser,WSL用户需额外配置CDP端口转发,门槛高于纯API调用。
2. 登录流程脆弱:QR码有效期仅1-2分钟,全流程需严格控制在单个terminal调用内,拆分即失败;且需人工扫码,无法完全自动化。

3. 稳定性风险:微信读书页面结构变化可能导致选择器失效;无限滚动的XHR依赖session cookie,标签页意外关闭即中断。

4. 性能瓶颈:大批量提取时需逐一点击+sleep 50ms,60篇约0.5秒,数百篇需数十秒。

5. 平台限制:仅覆盖微信读书收录的公众号文章,部分新号或未收录文章可能缺失。

适合人群

  • 需要批量获取微信公众号原文链接的研究者、媒体从业者
  • 搭建公众号内容监控/舆情系统的开发者
  • 已配置agent-browser环境的技术用户

常规风险

| 风险类型 | 说明 |
|---------|------|
| 账号风险 | 频繁搜索/提取可能触发微信风控,建议控制频率 |
| 会话失效 | weread标签页关闭后session丢失,需重新登录 |
| URL过期 | `mp.weixin.qq.com`链接长期有效,但微信可能调整策略 |
| 数据一致性 | 文章发布时间显示为相对时间("3小时前"),需转换绝对时间 |
| 依赖变更 | `agent-browser`版本更新可能改变CDP行为,需持续维护 |

安全解读

核心用法

wechat-search-weread 是一款针对微信公众号文章搜索的浏览器自动化 Skill。由于微信读书官方 Agent API 不支持公众号文章搜索(返回 -2041 错误),本 Skill 采用 agent-browser 工具模拟用户行为,完成登录、搜索、滚动加载、批量提取 URL 的完整流程。

主要工作流程:
1. 启动浏览器(WSL 用户需配置 CDP 端口转发)

2. 扫码登录微信读书(关键步骤:必须刷新 QR 码保证新鲜度,整个流程需在一个 terminal 调用内完成)

3. 保持 weread.qq.com 标签页活跃(session 关键,关闭将导致滚动失效)

4. 搜索关键词 + 大批量滚动加载(默认滚到「暂无更多内容」或 500 条封顶)

5. 批量提取文章 URL(通过 CDP WebSocket 直连,eval 注入拦截 window.open 获取真实链接)

6. 格式化输出 Top 10 结果

技术亮点:采用 eval 批量提取方案,60 篇文章 URL 提取仅需约 0.5 秒;通过 async/await + sleep 机制解决 Vue 异步调用导致的 URL 错位问题。

显著优点

  • 突破官方限制:微信读书官方 API 不支持公众号搜索,本方案是目前唯一可行的技术途径
  • 数据完整性:返回标题、公众号、发布时间、简介、直链(mp.weixin.qq.com)完整元数据
  • 批量处理能力:支持滚动加载至 500 篇上限,适合大规模内容采集
  • 登录态持久化:保留微信读书页面,支持连续多关键词搜索
  • WSL 兼容:提供完整的 Windows-WSL CDP 浏览器配置方案

潜在缺点与局限性

  • 环境依赖重:必须安装 agent-browser,WSL 用户需额外配置端口转发
  • 流程复杂度高:5 步流程环环相扣,Step 4 提取 URL 极易被遗漏,新手容易只滚动不提取
  • 登录流程脆弱:QR 码有效期仅 1-2 分钟,流程拆分或中间验证都会导致过期
  • 浏览器资源占用:需保持 weread.qq.com 标签页全程活跃,无法后台静默运行
  • 平台耦合深:高度依赖微信读书页面 DOM 结构,官方改版即可能失效

适合的目标群体

  • 内容运营人员:需要批量监控竞品公众号、追踪行业热点
  • 市场分析师:研究微信生态内容趋势、品牌声量分析
  • 学术研究者:采集微信公众号文章作为研究样本
  • 数据工程师:构建微信内容数据库,需自动化采集 pipeline

使用风险

  • 性能风险:长滚动(>3 轮)必须用前台 terminal + 600s 超时,background 进程可能无声卡住
  • session 丢失风险:weread.qq.com 标签页关闭/导航走,滚动将永远卡在 15 篇
  • 登录态过期:微信读书 cookie 过期后需重新扫码,无法自动续期
  • 提取失败风险:约 40% URL 错位问题已通过 async+await 修复,但极端情况下仍可能漏链
  • URL 截断风险:已修复——强制从 /tmp/urls.json 读取完整 URL,不从控制台复制
  • 依赖维护风险:agent-browser 版本更新可能改变 CLI 行为

Wechat Search Weread 内容

references文件夹
scripts文件夹
手动下载zip · 23.6 kB
api-limitations.mdtext/markdown
请选择文件