核心用法
本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行为,需持续维护 |